2016-11-15 13 views
0

私はMicrosoft Fakesを使用していますが、DBEntityEntryをSystem.Data.Entity.Infrastructure.Fakes.ShimDbEntityEntryでシムしようとしましたが、シムにDbEntry DbEntryコンストラクタが内部的なので、私はできません。 新しいDbEntryを返すためには何が必要か、何もしないだけです。Shim to Shim DbEntityEntry with Microsoft Fakes

System.Data.Entity. 
Infrastructure.Fakes 
.ShimDbEntityEntry<RequisitionDetail> 
.AllInstances.EntityGet = m => { DbEntityEntry<RequisitionDetail> r; }; 

nullを返そうとしましたが、状態を変更しようとするとnull参照が返されました。

db.Entry(obj).State = EntityState.Modified; 

この依存関係を特定する方法はありますか?

答えて

0

リフレクションによって内部コンストラクタにアクセスできます。

var internalConstructor = typeof (DbEntityEntry).GetConstructors(BindingFlags.NonPublic | BindingFlags.Instance)[0]; 
var dbEntityEntry = (DbEntityEntry)internalConstructor.Invoke(new object[] {null}); 
関連する問題