[英]How to use Entity Framework 6 Code First in Class Library Project with MVC 5
[英]Using Entity Framework 6 class library project with MVC 6
我們花了數千小時來使用EF6創建應用程序,並且遵循的結構將EF6框架使用到了一個單獨的類庫層中,我們試圖切換到MVC 6,但仍想使用EF6類庫項目。
我們當前面臨的問題是連接字符串,我們嘗試將連接字符串添加到applicationsettings.json
,然后相應地更新了Startup.cs
文件,如類似文章如何在Asp.Net 5中使用Entity Framework 6.x中所建議的那樣(MVC 6)
public class MyContext : DbContext {
public MyContext(string connectionString) : base(connectionString) {
}
}
var context = new MyContext("myConnectionString");
但似乎沒有任何效果,不確定在.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"]);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.