C# 在MVC6中使用实体框架6类库项目

C# 在MVC6中使用实体框架6类库项目,c#,entity-framework,entity-framework-6,asp.net-core-mvc,connection-string,C#,Entity Framework,Entity Framework 6,Asp.net Core Mvc,Connection String,我们花了数千个小时使用EF6创建应用程序,我们遵循的结构是使用EF6框架进入一个单独的类库层,我们正在尝试切换到MVC6,但仍然希望使用EF6类库项目 我们目前面临的问题是连接字符串,我们尝试在applicationsettings.json中添加连接字符串,然后相应地更新Startup.cs文件,正如类似文章中所建议的那样 但似乎什么都不起作用,不知道如何在我的.net 4.6类库项目中使用下面的行,或者如何访问applicationsettings.json文件 IConfiguration

我们花了数千个小时使用EF6创建应用程序,我们遵循的结构是使用EF6框架进入一个单独的类库层,我们正在尝试切换到MVC6,但仍然希望使用EF6类库项目

我们目前面临的问题是连接字符串,我们尝试在
applicationsettings.json
中添加连接字符串,然后相应地更新
Startup.cs
文件,正如类似文章中所建议的那样

但似乎什么都不起作用,不知道如何在我的.net 4.6类库项目中使用下面的行,或者如何访问
applicationsettings.json
文件

IConfiguration configuration = new 

Configuration().AddJsonFile("config.json");
var connectionString = configuration["Data:DefaultConnection:ConnectionString"]);

选项1

public class MyContext : DbContext
{
    public MyContext()
        : base(new Configuration().AddJsonFile("config.json")["Data:DefaultConnection:ConnectionString"]);
    {
    }
{
选项2

public class MyContext : DbContext
{
    static readonly string ConnectionString;
    static MyContext()
    {
        IConfiguration configuration = new Configuration().AddJsonFile("config.json");
        ConnectionString = configuration["Data:DefaultConnection:ConnectionString"]);
    }

    public MyContext()
        : base(ConnectionString);
    {
    }
}
选项3

public class MyContext : DbContext
{
    public MyContext(string connectionString)
        : base(connectionString);
    {
    }
}


public static class ContextFactory
{
    static readonly IConfiguration Configuration;
    static ContextFactory()
    {
        Configuration = new Configuration().AddJsonFile("config.json");
    }

    public static MyContext CreateMyContext()
    {
        return new MyContext(Configuration["Data:DefaultConnection:ConnectionString"]);
    }
}

您只需打开文件并将其读入即可。或者,如果有帮助,您可以将连接字符串放在其他地方。它不一定要在那里。但是如果它是一个独立的图书馆,就没有什么不同了;只需要对数据库进行简单调用以返回行;我想知道如何理解这种混乱。简单的数据库连接和调用。我有一个连接字符串,它指向正确的数据库,在服务器资源管理器中显示表。我有MVC5应用程序正在运行。MS在忙什么?我不需要在其他操作系统上运行。我只需要一个简单的网络应用程序。
public class MyContext : DbContext
{
    public MyContext(string connectionString)
        : base(connectionString);
    {
    }
}


public static class ContextFactory
{
    static readonly IConfiguration Configuration;
    static ContextFactory()
    {
        Configuration = new Configuration().AddJsonFile("config.json");
    }

    public static MyContext CreateMyContext()
    {
        return new MyContext(Configuration["Data:DefaultConnection:ConnectionString"]);
    }
}