データ コンシューマが EF にまったく依存してはならない (100% POCO) 「DbContext」と「DbSet」の意図された (ベスト プラクティス) 使用について誰かが教えてくれますか? 私が見つけたすべての例は、基になるデータ ソース (通常は RDBMS テーブルに対応する) の POCO クラスを作成する方法を説明していますが、それでも "DbContext" と "DbSet" を外部の世界に公開しています (データ バインディングの方法に関する MSFT 独自の例を含む)。これらのクラスで)。これは、POCO を使用する利点を無効にするか、(真剣に) 弱めているようです。IOW、クライアントは、内部で EF を使用するデータ ストア プロジェクトを作成するクリーンな (IMHO) アプローチではなく、依然として EF にバインドされていますが、POCO のみをユーザーに公開します。EF に関するすべての記事がこれを無視しているように見えるのはなぜですか (何か足りないのでしょうか)。ありがとう。
1271 次
1 に答える
3
通常は、DbContext を利用するサービス レイヤー (たとえば、Repository パターンに基づく) を作成します。その役割は、データベースとアプリケーション/クライアントの間を仲介することです。クライアントから POCO を受け取り、POCO をクライアントに返します。そうすれば、クライアントはリポジトリについては知っていますが、DbContext については何も知りません。
あなたのためのいくつかのより多くの読書:
http://blogs.microsoft.co.il/blogs/gilf/archive/2010/01/20/using-repository-pattern-with-entity-framework.aspx http://blogs.msdn.com/b/adonet /archive/2009/06/16/using-repository-and-unit-of-work-patterns-with-entity-framework-4-0.aspx
于 2012-07-26T06:26:47.747 に答える