20

からMSDN:

Unit-Of-Work パターンと Repository パターンの組み合わせを表し、データベースにクエリを実行し、変更をグループ化して、ユニットとしてストアに書き戻すことができるようにします。DbContextと概念的に似ていObjectContextます。

DbContextはDBへの接続とDBに対して動作するスレッドの数のみを処理します。

追跡メカニズムが含まれていることがわかりましたか?これはにあると思いましたObjectContext

では、(平易な英語で)それらの違いは何ですか?

4

3 に答える 3

21

DbContextは、ObjectContextクラスの軽量バージョンであり、ObjectContextのほぼ真上に配置されます(DbContextだけからObjectContextにアクセスする方法もあります)。また、IMOの方がはるかに使いやすく、CRUD操作が簡単になります。

EF 4.1に導入されたように、より良い情報については、JulieLermanよりも違いの詳細を確認する方がよいでしょう。

于 2013-02-13T16:21:27.873 に答える
6

DbContext は、ObjectContext の最も一般的に使用される機能を公開する小さな API です。場合によっては、これらの機能が DbContext API にミラーリングされます。また、Entity Framework チームは、Find などのメソッドや DbSet.Local などのプロパティを提供することで、より複雑なコーディングを簡素化しました。しかし、その下にはまだアクセスが必要な大きな API が潜んでいます。たとえば、MetadataWorkspace を直接操作して、クラスに対する汎用コードを記述したい場合があります。これは、その API がリフレクションよりも効率的にモデルを読み取ることができるためです。さらに、MetadataWorkspace は、キー プロパティなど、リフレクションで検出できるよりも多くのメタデータに関する情報を提供できます。または、Entity SQL を通じて公開されるデータベース固有の関数を利用したい場合があります。LINQ to Entities からアクセスすることはできません。または、ObjectContext を使用して記述されたアプリケーションが既にあり、すべての ObjectContext コードを置き換えることなく、将来の更新で DbContext を活用したい場合があります。 (プログラミング DbContext からの参照)

于 2013-06-19T17:52:48.720 に答える