ASP.NET 5 控制台应用程序(程序包)- 如何从连接字符串创建 DBContext?
ASP.NET 5 Console Application (package) - How to create DBContext from connection string?
我正在尝试从 .net 核心上的连接字符串创建 DBContext。这曾经与 .net 4.5 一起工作:
public class MyContext : DbContext
{
internal MYContext(string connectionString) : base(connectionString){}
}
现在我收到错误消息,即基础 class (DBContext) 没有接受字符串的构造函数。
有什么想法吗?
DbContext 不再有此构造函数。您可以在 OnConfiguring
方法重载中指定连接字符串:
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=EFGetStarted.ConsoleApp.NewDb;Trusted_Connection=True;");
}
}
https://ef.readthedocs.org/en/latest/getting-started/full-dotnet/new-db.html
UseSqlServer
是 extension method 对应 DbContextOptionsBuilder
我正在尝试从 .net 核心上的连接字符串创建 DBContext。这曾经与 .net 4.5 一起工作:
public class MyContext : DbContext
{
internal MYContext(string connectionString) : base(connectionString){}
}
现在我收到错误消息,即基础 class (DBContext) 没有接受字符串的构造函数。
有什么想法吗?
DbContext 不再有此构造函数。您可以在 OnConfiguring
方法重载中指定连接字符串:
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=EFGetStarted.ConsoleApp.NewDb;Trusted_Connection=True;");
}
}
https://ef.readthedocs.org/en/latest/getting-started/full-dotnet/new-db.html
UseSqlServer
是 extension method 对应 DbContextOptionsBuilder