繁体   English   中英

EF6-在应用程序配置文件中找不到名为“ Data Source =…”的连接字符串

[英]EF6 - No connection string named 'Data Source=…' could be found in the application config file

我试图动态地设置一个继承自DbContext的MyDataContext的连接字符串,但出现此错误:

在应用程序配置文件中找不到名为'Data Source = myserver \\ mine; Initial Catalog = MyDb; User ID = user1; Password = mypassword; Connect Timeout = 300'的连接字符串。

这是我的代码:

public class DataContext : DbContext, IDataContext, IDataContextAsync
    {
    private readonly Guid _instanceId;

    public DataContext(string nameOrConnectionString)
        : base(nameOrConnectionString)
    {
        _instanceId = Guid.NewGuid();
        Configuration.LazyLoadingEnabled = false;
        Configuration.ProxyCreationEnabled = false;
    }

//and so on...
}

public class MyDataContext : DataContext
{
        public MyDataContext (string nameOrConnectionString)
            :base(nameOrConnectionString)
        {
        }
}

我想知道为什么会这样。 据我了解,构造函数可以接受连接字符串名称和连接字符串。 在这种情况下,实体框架似乎需要一个名称。

请帮忙。

谢谢 :)

给定EF标签,您可能想要DbContext(String)而不是DataContext(String) (并且您引用nameOrConnectionString参数)。

public class MyDataContext : DbContext
{
    public MyDataContext(String nameOrConnectionString)
        : base(nameOrConnectionString)
    {
    }
}

否则, DataContext会寻找文件源,这可能是您遇到的问题。

尝试将连接字符串复制到MVC项目(即主项目)中的.config文件,并确保该MVC项目作为启动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM