加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 实体框架无法在Web.config中找到连接字符串

发布时间:2020-12-15 06:49:42 所属栏目:百科 来源:网络整理
导读:实体框架似乎并没有从Web.config中读取连接字符串. 我开始了一个新项目并创建了一个上下文: public class FooContext : DbContext{ public FooContext() : base("Foo") { } // DbSets here} 然后,我向项目Web.config添加了一个连接字符串: configuration c
实体框架似乎并没有从Web.config中读取连接字符串.

我开始了一个新项目并创建了一个上下文:

public class FooContext : DbContext
{
    public FooContext() :
        base("Foo")
    {
    }

    // DbSets here
}

然后,我向项目Web.config添加了一个连接字符串:

<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration,visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,EntityFramework,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="Foo" providerName="System.Data.SqlClient" connectionString="Data Source=Foo;Initial Catalog=Foo;Integrated Security=False;User Id=foo;Password=foo;MultipleActiveResultSets=True" />
  </connectionStrings>
  <appSettings>
      ...

我启用迁移,生成初始迁移,然后尝试更新数据库.过了一会儿,更新失败,表示它无法连接到数据库.所以我把我的项目DLL拉到LINQPad,并运行以下:

var context = new FooContext();
context.Database.Connection.ConnectionString.Dump();

我得到以下输出:

Data Source=.SQLEXPRESS;Initial Catalog=Foo;Integrated Security=True;MultipleActiveResultSets=True

它试图连接到LocalDB,完全忽略我的连接字符串.所以我试图在上下文构造函数中更加明确,通过使用“name = Foo”而不是“Foo”.

public FooContext() :
    base("name=Foo")
{
}

对于什么是值得的,我从来没有这样做过.我甚至在同一个解决方案中有其他项目,我刚刚传递了连接字符串名称,并且它们已经正常工作.

我跳回到LINQPad并再次运行代码,现在我得到一个例外:

No connection string named 'Foo' could be found in the application config file.

我完全失去了我已经建立了这样的项目100多次,从来没有任何问题.由于可能很重要,我正在运行最新的实体框架6.1.3.有什么可能在这里发生的想法?

解决方法

我假设你在Visual studio中运行这个,确保你正在运行你的web项目作为启动项目使用web.config.如果您正在运行另一个控制台或.tests项目作为启动,它将把它们的app.config文件作为配置文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读