2009-07-24 7 views
0

私はdbmlについて興味があります....データベースごとに1つのdbmlファイルを作成するか、ユーザーdbml(テーブルのみがユーザーに関係します)など?私がこれをするとき、私は問題のabitを持っています。 User dbmlにUserテーブルがあり、Order dbmlにUserテーブルがある場合、エンティティネームスペースが同じ場合は許可されません。 dbmlごとに別のエンティティネームスペースを設定した場合は動作しますが、これによってUserテーブルのエンティティが異なります。単一のデータがビジネスロジック層に戻るとき、使用されるべきユーザテーブルのどのエンティティ名前空間を知ることが困難である。Linq to Sql dbmlのDataクラス

別のdbmlを持つ代わりに1つのdbmlファイルを作成した場合、データベースからデータを取得するときに、1つのdbmlが分離されたdbmlバージョンよりも遅く表示されます。

+1

も参照してください。http://stackoverflow.com/questions/1127283/linqtosql-mapping-out-the-datacontext-with-lots-of-tables –

答えて

1

Linq to SQLは、単一のデータコンテキストオブジェクトで操作するように設計されています。

SQLのDataContextのLINQの寿命
http://blogs.msdn.com/dinesh.kulkarni/archive/2008/04/27/lifetime-of-a-linq-to-sql-datacontext.aspx

NerdDinnerチュートリアルは、リポジトリのパターンを使用して、SQLの使用に典型的なのLINQのかなり良い例を有しています。すべての場合において、リポジトリオブジェクトは、作業を実行するために、単一のデータコンテキストオブジェクトを使用します。

http://nerddinnerbook.s3.amazonaws.com/Part3.htm

何をしようとすることがEntity Frameworkのために、より適しているかもしれないように聞こえます。ただし、Entity Frameworkには、現在のリリースで、特に遅延ロードに関するいくつかの問題があります。