0

刚刚开始使用适用于 ASP.NET MVC 的实体框架,然后进入我们需要考虑测试和部署我们的第一个应用程序的阶段。到目前为止,我只是将DbContext定义为硬编码的 SQL Server 连接字符串,但是定义了几个模型实体后,在生产和测试数据库服务器之间切换变得很痛苦。

通常,当我们编写自己的数据访问层时,我们会在Web.Staging.configorWeb.Release.config文件中定义类似这样的内容,以便于切换:

<add key="DBIP" value="x.y.z.z" /> <!-- Local Debug -->

然后,当我们建立连接字符串时,我们可以引用任何配置的值。不幸的是,似乎没有办法“全局”设置这样的参数,这意味着我们每次都必须维护数十个 EF 连接字符串。就生成的代码而言,总是会有这样的让步,但我很想看看是否有人已经找到了一种节省劳动力的解决方法。

谢谢阅读 :)

4

1 回答 1

0

您的连接字符串应该保存在您的网络配置中,每个环境都会有自己的配置,就像您所说的那样Web.Staing.configWeb.Release.Config

您可以将连接字符串的名称传递给DbContext. 在所有环境中保持名称相同,您不会有问题。

例子

public class BaconContext : DbContext
{
    public BaconContext()
        : base("BaconDatabase")
    {
    }
}

<configuration>
  <connectionStrings>
    <add name="BaconDatabase"
     connectionString="Data Source=localhost"/>
  </connectionStrings>
</configuration>
于 2013-10-09T13:34:53.027 回答