使用实体框架和两个独立的数据库(开发和生产)

本文关键字:数据库 独立 开发 实体 框架 两个 | 更新日期: 2025-04-15 19:50:23

因此,我已经在开发中使用Entity Framework 5进行了一段时间的项目开发,并决定需要将代码转移到生产环境中。

我的问题是,做这件事的好方法是什么?

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

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

我在这里看了这篇文章,但它没有帮助:与生产和开发数据库一起工作的实体框架

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

谢谢!

使用实体框架和两个独立的数据库(开发和生产)

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

看看这个类似的答案:Web.Config调试/发布

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

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