使用Entity Framework和两个独立的数据库(开发和生产)

时间:2012-09-11 18:44:06

标签: c# asp.net-mvc entity-framework web-config connection-string

所以我在开发过程中一直在使用Entity Framework 5开发项目,并决定将代码移动到生产环境。

我的问题是这样做的好方法是什么?

我最初的想法是在我的项目中有两个edmx文件,然后在我的开发环境中注释掉生产连接字符串,反之亦然。然而,这似乎不可行,因为我在连接字符串中不能有两个具有相同名称的实体模型,因此导致在我的代码中更改模型“上下文”实例,这是没有意义的。

我的另一个想法是修改开发数据库使用的模型的连接字符串以指向生产数据源(因为它们都具有相同的表结构)。但我不知道我是否会在这里打破任何东西。

我在这里看过这篇文章并没有帮助:Entity framework working with both production and development database

注意:我没有使用代码优先模式,而是从数据库生成模型,开发和生产数据库都有同步数据库结构。

谢谢!

2 个答案:

答案 0 :(得分:5)

您可以在web.config文件中使用转换来自动切换要引用的数据库。

看看这个类似的答案:Web.Config Debug/Release

答案 1 :(得分:1)

你的web.config中仍然有连接字符串(是的,大的,长的实体连接字符串,但它就在那里)。只需确保生产部署中的连接字符串指向生产数据库服务器。我建议使用配置转换:

http://msdn.microsoft.com/en-us/library/dd465326.aspx