在 MVC 6 中使用 Entity Framework 6 class 库项目
Using Entity Framework 6 class library project with MVC 6
我们花费了数千小时使用 EF6 创建应用程序,并且我们遵循的结构将 EF6 框架用于单独的 class 库层,我们正在尝试切换到 MVC 6 但仍想使用 EF6 class 图书馆项目。
我们目前面临的问题是连接字符串,我们尝试在 applicationsettings.json
中添加连接字符串,然后相应地更新 Startup.cs
文件,如类似 post 中的建议
public class MyContext : DbContext {
public MyContext(string connectionString) : base(connectionString) {
}
}
var context = new MyContext("myConnectionString");
但似乎没有任何效果,不确定如何在我的 .net 4.6 class 库项目中使用以下行,或者我如何访问 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"]);
}
}
我们花费了数千小时使用 EF6 创建应用程序,并且我们遵循的结构将 EF6 框架用于单独的 class 库层,我们正在尝试切换到 MVC 6 但仍想使用 EF6 class 图书馆项目。
我们目前面临的问题是连接字符串,我们尝试在 applicationsettings.json
中添加连接字符串,然后相应地更新 Startup.cs
文件,如类似 post 中的建议
public class MyContext : DbContext {
public MyContext(string connectionString) : base(connectionString) {
}
}
var context = new MyContext("myConnectionString");
但似乎没有任何效果,不确定如何在我的 .net 4.6 class 库项目中使用以下行,或者我如何访问 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"]);
}
}