如何创建ObjectSet的实例?

时间:2011-07-02 20:50:33

标签: c# unit-testing entity-framework objectset

我正在我的项目中进行DAO单元测试,并且使用ObjectSet类时遇到问题。我必须创建一个新的ObjectSet,但为了做到这一点,我不能连接到数据库。所以我无法使用BusinessModelContainer的{​​{1}}方法。有没有办法在没有它的情况下创建CreateObjectSet()

单元测试代码如下:

ObjectSet

2 个答案:

答案 0 :(得分:12)

你在测试什么?除非您是单元测试EF代码,否则在单元测试中不应该需要真实ObjectSet的实例。请改用IObjectSet模拟。没有上下文,无法获取ObjectSet的实例。

答案 1 :(得分:3)

DAL.Moles.MDALEntities.Constructor = (a) => { };
DALEntities db = new DALEntities(); //Object Context

System.Data.Objects.Moles.MObjectContext.AllInstances.CreateObjectSet<ObjectSetType>(
(a) => { return new System.Data.Objects.Moles.MObjectSet<ObjectSetType>(); }
);

ObjectSet<ObjectSetType> dbList = db.CreateObjectSet<ObjectSetType>();