单元测试期间的实体框架错误

时间:2011-09-21 02:53:58

标签: unit-testing entity-framework

我正在使用实体框架。

在我的一个单元测试中,我有一行:

this.Set<T>().Add(entity);

在执行该行时我得到:

  

System.InvalidOperationException:支持的模型   自发生数据库以来,'InvoiceNewDataContext'上下文已发生变化   创建。手动删除/更新数据库,或者调用   带有IDatabaseInitializer实例的Database.SetInitializer。对于   例如,DropCreateDatabaseIfModelChanges策略将   自动删除并重新创建数据库,并可选择播种它   新数据。

我确实删除了数据库并删除了连接字符串。

我很惊讶这个错误正在添加,因为我不希望它发生,直到我保存数据并发现没有数据库。

在我在单元测试期间创建的先前项目/解决方案中,我已经能够添加到上下文中以进行测试,而无需实际调用SaveChanges

有谁知道为什么会出现在我最新的项目/解决方案中?

1 个答案:

答案 0 :(得分:1)

您确定在以前的项目中确实没有使用过数据库吗?如果您没有指定任何连接字符串,它将使用本地.mdf文件静默使用默认的SQLExpress数据库,因此请确保现在不会发生。