【问题标题】:Code First Entity Framework - change connection stringCode First Entity Framework - 更改连接字符串
【发布时间】:2011-10-24 02:37:54
【问题描述】:

如何更改代码优先实体框架/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" />

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

我希望实体框架读取“WebsiteConnectionString”,但它似乎想使用本地连接字符串,但我什至看不到它设置在哪里。怎么改?

【问题讨论】:

    标签: c# asp.net-mvc entity-framework ef-code-first


    【解决方案1】:

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

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

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

    【讨论】:

    • @ladislav-mrnka 我已经看到了很多关于 EF 问题的答案,它们都非常有帮助。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-05-06
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多