我正在使用实体框架。
在我的一个单元测试中,我有一行:
this.Set<T>().Add(entity);
在执行该行时我得到:
System.InvalidOperationException:支持的模型 自发生数据库以来,'InvoiceNewDataContext'上下文已发生变化 创建。手动删除/更新数据库,或者调用 带有IDatabaseInitializer实例的Database.SetInitializer。对于 例如,DropCreateDatabaseIfModelChanges策略将 自动删除并重新创建数据库,并可选择播种它 新数据。
我确实删除了数据库并删除了连接字符串。
我很惊讶这个错误正在添加,因为我不希望它发生,直到我保存数据并发现没有数据库。
在我在单元测试期间创建的先前项目/解决方案中,我已经能够添加到上下文中以进行测试,而无需实际调用SaveChanges
。
有谁知道为什么会出现在我最新的项目/解决方案中?
答案 0 :(得分:1)
您确定在以前的项目中确实没有使用过数据库吗?如果您没有指定任何连接字符串,它将使用本地.mdf文件静默使用默认的SQLExpress数据库,因此请确保现在不会发生。