在Entity Framework中使用测试/ dev / prod数据库策略

时间:2010-12-31 18:32:55

标签: database entity-framework testing

在Ruby中工作时(特别是在Rails中),我可以使用测试数据库自动运行测试,也可以在开发或生产数据库之间轻松选择。对于Entity Framework(WPF)来说仍然是新手,但它似乎并不简单。

我的实体程序集有一个App.Config文件,其中包含对数据库的引用,我需要将此App.Config文件复制到所有可运行的项目(例如问题11133612233897)。

如果我使用Test->数据库测试配置而未从我的EF项目中明确复制App.Config,我会

  

System.ArgumentException:The   指定的命名连接是   没有在配置中找到,没有   打算用于   EntityClient提供程序,或无效。

这与我有一个丢失或不同的App.Config文件相同。

奇怪的是,即使我更改了我的Entity项目中的所有连接stings并将项目测试到同一个数据库,我仍然会收到该错误。

在告诉Visual Studio(2010 Ultimate)我是否希望我的测试使用不同的测试数据库运行时,我是否缺少一个步骤,或者这只是不支持EF 4?

此外,除了来回复制App.Config文件之外,还有其他方法可以更改数据库上下文吗?似乎是一种忽视问题分离的严肃方式,所以我认为我错过了一些东西。

1 个答案:

答案 0 :(得分:1)

奇怪的是,在我这样做之后,它开始工作了。有人可能对此发表评论,但看起来我在错误的时间使用了Test->数据库测试配置。

即便:

清理项目,没有App.Config,使用Test->数据库测试配置来设置测试数据库。它会生成一个app.config(小写,特别是)。你收到一个错误。即使您检查所有连接字符串(奇怪)

清理项目,首先从您的实体项目中复制App.Config 。现在,当您使用Test->数据库测试配置时,它将填充您复制的App.Config,并且它可以正常工作。

我想这是我在复制连接字符串时创建的一些问题。

我还确认,当我的测试项目使用“测试”数据库时,这可以使用我的实体项目使用“主”数据库。

不知道有人可以确认/澄清这个吗?