我正在尝试使用以下命令生成迁移脚本
dotnet ef migrations add InitApplicationDbContext -c ApplicationDbContext -o Migrations/ApplicationDbContext
它成功生成了脚本,但是当我尝试构建项目时,它显示错误
' ApplicationDbContext是一个命名空间,但用作类型'
生成的文件如下所示
namespace Service.Migrations.ApplicationDbContext
{
[DbContext(typeof(ApplicationDbContext))]
[Migration("20180424060822_InitApplicationDbContext")]
partial class InitApplicationDbContext
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
// Removed for clarity
}
}
}
错误在此行[DbContext(typeof(ApplicationDbContext))]
上。
如果我更改此行以包含声明上下文的命名空间,那么一切正常[DbContext(typeof(Service.Context.ApplicationDbContext))]
另一个选项是从自动生成的代码中删除命名空间中的上下文名称,例如namespace Service.Migrations.ApplicationDbContext
到namespace Service.Migrations
有没有办法强制dotnet ef命令指定命名空间或使用上下文的完整类型名称?