首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建ObjectSet的实例?

如何创建ObjectSet的实例?
EN

Stack Overflow用户
提问于 2011-07-03 04:50:33
回答 2查看 3.8K关注 0票数 7

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

单元测试代码如下:

代码语言:javascript
复制
var mock = new Mock<IBusinessModelContainerWrapper>();  
ObjectSet<Student> expectedStudent = ???;  // how can I get an instance here?
StudentDao studentDao = new StudentDao(mock.Object);  

expectedStudent.Add(someObj);  
mock.Setup(c => c.Students).Returns(expectedStudent);  

Assert.AreEqual(someObj, studentDao.GetByQuery(...));  
EN

回答 2

Stack Overflow用户

发布于 2011-07-03 05:07:54

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

票数 12
EN

Stack Overflow用户

发布于 2012-04-03 11:22:27

代码语言:javascript
复制
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>();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6559536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档