我正在使用实体框架。单元测试期间的实体框架错误
在我的单元测试我有这样一行:
this.Set<T>().Add(entity);
在执行这条线,我得到:
System.InvalidOperationException:该模型支持的 “InvoiceNewDataContext”上下文有自从数据库被更改为 创建。可以手动删除/更新数据库,也可以使用IDatabaseInitializer实例调用 Database.SetInitializer。对于 例如,DropCreateDatabaseIfModelChanges战略将 自动删除并重新创建数据库,并任选地用新的数据种子它 。
嗯,我实际上已经删除了数据库,并删除连接字符串。
我很惊讶,这个错误是在增加,因为我不希望它发生,直到我保存的数据发生的事情,它发现没有数据库。
在以前的项目/解决方案,我在单元测试,我已经能够增加用于测试目的的情况下,而不实际调用SaveChanges
创建。
会有人知道为什么会在我的最新项目/解决方案,是这样吗?
您是否在应用程序启动或测试初始化程序方法中使用初始化策略?你是什么意思'删除coonnectionstring'? –
是的,我正在使用初始化策略,并且在测试项目的app.config中有一个连接字符串。我希望测试在没有数据库的情况下运行,所以我删除了这个连接字符串并将初始化策略注释掉了。 – AnonyMouse