在EntityFramework Core 1.1中,此方法似乎不再存在:
DbContext.AllMigrationsApplied()
Run Code Online (Sandbox Code Playgroud)
现在这样做的首选方式是什么.是吗?
if (!context.Database.GetPendingMigrations().Any())
Run Code Online (Sandbox Code Playgroud) 我想我的所有依赖项都正常运行1.1但是当我尝试按照这里的步骤进行操作时https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/new-db我得到了运行Add-Migration命令时出错.
PM> Add-Migration InitialState
在启动类'Startup'上调用方法'ConfigureServices'时发生错误.
考虑使用IDbContextFactory在设计时覆盖DbContext的初始化.错误:此方法找不到用户密码ID,因为未设置应用程序的条目程序集.请尝试使用".AddUserSecrets(Assembly assembly)"方法.在'ApplicationDbContext'上找不到无参数构造函数.要么将无参数构造函数添加到'ApplicationDbContext',要么在与'ApplicationDbContext'相同的程序集中添加'IDbContextFactory'的实现.
我的project.json的相关部分:...
“Microsoft.EntityFrameworkCore”: “1.1.0”,
“Microsoft.EntityFrameworkCore.SqlServer”: “1.1.0”,
“Microsoft.EntityFrameworkCore.Design”: {
“type “: “build”,
“version”: “1.1.0”
},
“Microsoft.EntityFrameworkCore.Tools”: “1.1.0-preview4-final”
},
“tools”: {
“Microsoft.EntityFrameworkCore.Tools.DotNet”: “1.1.0-preview4-final”
},
Run Code Online (Sandbox Code Playgroud)
我的ApplicationDbContext确实有构造函数:
public ApplicationDbContext(DbContextOptions options) : base(options)
{ }
Run Code Online (Sandbox Code Playgroud)
我的Startup.cs确实有:
services.AddDbContext(options => options.UseSqlServer(Configuration.GetConnectionString(“DefaultConnection”)));
Run Code Online (Sandbox Code Playgroud)
还有什么呢?