我已经填满了我的数据环境。现在我需要shim一个表get()。我遇到了ObjectSet的问题,因为我不知道如何填充它。
DataModel.Fakes.ShimMyEntities.Constructor = (inst) => {};
DataModel.Fakes.ShimMyEntities.AllInstances.Table1Get = (i)
=> ?
//在代码库中
using(MyEntities ctx = new MyEntities())
{
ctx.Table1.ToList().ForEach(i => otherList.Add(i));
}
上面的问号应该去哪里?我尝试过以下各种变体来代替问号,但到目前为止没有任何作用:
=> { return new ObjectSet<Table1>(){ new ObjectContext("").CreateObjectSet<Table1>();} ; }
和
=> { return System.Data.Objects.Fakes.ShimObjectContext.AllInstances.CreateObjectSetOf1String<Table1>(inst, var1) ???
答案 0 :(得分:1)
以下是我的工作方式:
var shimTable1ObjectSet = new System.Data.Objects.Fakes.ShimObjectSet<Table1>();
shimTable1ObjectSet.Bind((new List<Table1>()).AsQueryable());
DataModel.Fakes.ShimMyEntities.Constructor = (inst) => {};
DataModel.Fakes.ShimMyEntities.AllInstances.Table1Get = () => shimTable1ObjectSet.Instance;
通过它,您可以ToList()
上Count()
,Where()
,ctx.Table1
等。