Code First Entity Framework - 更改连接字符串

15

如何在Code First Entity Framework/MVC应用程序中更改连接字符串?我试图将其转移到现场,但它忽略了Web配置值,并仍然引用我的本地数据库版本。

这是我的web.config中的连接字符串部分:

<add name="MembershipConnectionString" connectionString="Data Source=192.168.1.43;Initial Catalog=Website.Models.IntranetApplication;User Id=[UserName];Password=[Password];timeout=30" />
<add name="WebsiteConnectionString" connectionString="Data Source=192.168.1.43;Initial Catalog=Website.Models.IntranetApplication;User Id=[UserName];Password=[Password];timeout=30" />
<add name="Entities" connectionString="metadata=res://*/Models.IntranetModel.csdl|res://*/Models.IntranetModel.ssdl|res://*/Models.IntranetModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=192.168.1.43;Initial Catalog=Website.Models.IntranetApplication;User Id=[UserName];Password=[Password];MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

我不确定Entities字符串是否有关系,因为我使用的是Code First实体框架,我认为它只会在我尝试创建edmx文件时出现(尽管最终我将其删除了)。Entities连接字符串被注释掉了,所以我认为它没有被使用。

我想让实体框架读取“WebsiteConnectionString”,但它似乎想要使用本地连接字符串,但我甚至看不到它在哪里设置。我该如何更改它?

1个回答

31

连接字符串或其名称可以传递到DbContext的构造函数中。如果您使用默认构造函数,则它会搜索与派生上下文类的名称相同的连接字符串的名称,如果找不到,则使用此连接字符串:

Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True

使用与您上下文类相同的数据库名称。


1
@ladislav-mrnka 我在EF问题上看到了很多你的回答,它们都非常有帮助。谢谢! - edsobo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接