我在包含AspNet Core WebApi的解决方案的类库中安装了EntityFrameworkCore 2.0.2
。
我在项目中安装了以下软件包;
Microsoft.AspNetCore.Identity.EntityFrameworkCore - 2.0.2
Microsoft.EntityFrameworkCore - 2.0.2
Microsoft.EntityFrameworkCore.SqlServer - 2.0.2
Microsoft.Extensions.Identity.Stores - 2.0.2
System.Data.SqlClient - 4.4.3
我的类库项目调用上下文;
public class MyContextFactory : IDesignTimeDbContextFactory<MyDataContext>
{
public MyContextFactory()
{
}
public MyDataContext CreateDbContext(string[] args)
{
var builder = new DbContextOptionsBuilder<MyDataContext>();
builder.UseSqlServer(DbGlobals.DevDatabase);
return new MyDataContext(builder.Options);
}
}
当我尝试从程序包管理器控制台运行update-database
命令时,我收到以下错误。
应用程序启动异常:System.IO.FileNotFoundException:可以 找不到文件 &#39; C:\用户\亚光\源\回购\项目\ Services.WebApi \ BIN \调试\ netcoreapp2.0 \ ef.xml&#39;
。
现在,当我尝试add-migration
时也会发生这种情况。
我无法在ef.xml上找到任何详细信息及其生成方式?谁能告诉我这里发生了什么。
如果我运行add-migration
我生成了迁移,但随后出现错误;
调用方法时遇到错误&#39; BuildWebHost&#39;课程&#39;课程&#39;。继续没有应用程序服务提供商。错误:找不到文件
'C:\Users\matt\Source\Repos\project\Services.WebApi\bin\Debug\netcoreapp2.0\ef.xml'.
我试过清理项目,重新编译(没有错误),我也查看了引用的文件夹,文件不存在。它(在文件搜索中)是否已在其他地方生成?
现在迁移工作正常吗?
根据我的BuildwebHost
请求
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
我在我的Startup.cs中添加了EF;
services.AddDbContext<MyDataContext>(
options => options
.UseSqlServer(DbGlobals.DevDatabase));
答案 0 :(得分:0)
您使用的命令update-database
和add-migration
看起来不像支持的Entity Framework核心CLI命令:
dotnet ef add migrations <migration-name>
dotnet ef database update
另请查看此SO问题以获取更多信息: Entity Framework Core 2.0 add-migration not generating anything