2012-06-14 9 views
5

EntityModelをを使用して4.3にアップグレードしました。'ObjectContext'に 'Entry'の定義がなく、拡張メソッド 'Entry'がありません

今私はEntityObject.Stateを変更したいですが、.Entry()メソッドを見つけることができません。

現在の状態はDeletedです。

これは私が何をしたいです:

someObjectContext.Entry(someEntityObject).State = EntityState.Unchanged;

EntityFrameworkとEntityFramework.Extendedにreferancesが追加されます。

だから私は何が欠けていますか?

EDIT

マイNuGet出力:

PM> Install-Package EntityFramework -Version 4.3.1 
'EntityFramework 4.3.1' already installed. 
Data already has a reference to 'EntityFramework 4.3.1'. 

答えて

13

あなたはEntryメソッドを持っていないObjectContextを、使用しています。あなたはObjectContextのラッパーで、のEF 4.3 4.1(Slaumaのおかげで訂正)に追加されたDbContextを使用する必要があります。また、DbContextから必要なときにObjectContextを抽出する方法があります。ここで

ObjectContext context = ((IObjectContextAdapter)yourDbContext).ObjectContext; 

は、周りの他の方法です:

DbContext context = new DbContext(yourObjectContext, true); //or false, depends what you want 

はここでコンストラクタへlinkです。

+0

がEF 4.1に追加されました... – Slauma

+0

@スラウマ訂正ありがとう、編集中です... :) –

+0

@ Trustme-I'maDoctor助けてくれてありがとう。完璧な仕事! =) – Willem

関連する問題