2013-02-13 12 views
17

の違いは何ですか:<code>MSDN</code>からDbContextとのObjectContext

は、作業ユニット-とリポジトリパターンの組み合わせを表し、あなたはその後に書き戻されるデータベースと一緒にグループの変更を照会することができますユニットとしての店舗。 DbContextは、概念的にはObjectContextに似ています。

私はDbContextでも、DBへの接続とDBに対して動作するスレッドの数だけを処理します。

トラッキングメカニズムが含まれていることを理解しましたか?私はこれがObjectContextにあると思った。

それでは(違いはありません)違いは何ですか?

答えて

21

DbContextはObjectContextクラスの軽量バージョンです。ObjectContextクラスのほとんどは、ObjectContextのほぼ真上に置かれています(DbContextからObjectContextに到達する方法さえあります)。また、IMOを使用する方がはるかに簡単で、CRUD操作をシンクにします。

詳細については、Julie Lermanよりも見栄えがよく、違いの詳細については、EF 4.1を参照してください。

+0

チェックこの[記事](HTTP:/ /www.c-sharpcorner.com/UploadFile/ff2f08/objectcontext-vs-dbcontext/) – stom

5

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

関連する問題