拥有EF上下文和Testenity我想让以下测试工作。
TestEntity testEntity = new TestEntity() { Name = "Hello World" };
context.TestEntities.AddObject(testEntity);
// missing Code
Assert.AreEqual(1, context.TestEntities.Count(), "Entity not in context!");
我知道它适用于SaveChanges(),但我不想将保存 数据源。
答案 0 :(得分:4)
TestEntity testEntity = new TestEntity() { Name = "Hello World" };
context.TestEntities.AddObject(testEntity);
var entitiesInOSM = context.ObjectStateManager.
GetObjectStateEntries(EntityState.Added | EntityState.Deleted | EntityState.Modified | EntityState.Unchanged).
Where(ent => ent.Entity is TestEntity).
Select(ent => ent.Entity as TestEntity);
Assert.AreEqual(1, entitiesInOSM.Count(), "Entity not in context!");
答案 1 :(得分:-1)
你想通过考试达到什么目的?所有这些测试都将在这里实现,即断言底层的Entity Framework ContextObject,这对你来说是一个毫无意义的测试。
如果您尝试运行其他ObjectContext是依赖项的其他测试,则可以使用接口模拟ObjectContext。我们创建了自己的自定义IObjectContext接口,我们从T4生成的ContextObject中提取出我们的模型。