DiP*_*Pix 4 c# entity-framework asp.net-core
在我的解决方案中,我想首先使用Asp.net核心+ EF代码
我有2个项目:
在CC.API我有启动类,有:
services.AddDbContext<DataContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"), b => b.MigrationsAssembly("CC.Infrastructure")));
Run Code Online (Sandbox Code Playgroud)
(连接字符串在appsettings.json中)
正如您所看到的,我正在尝试将迁移文件保存在不同的项目中 - CC.Infrastructure.
不幸的是,当Add-Migration Init我收到错误时:
您的目标项目"PK.API"与您的迁移程序集"PK.Infrastructure"不匹配.更改目标项目或更改迁移程序集
如果我在启动时更改,b => b.MigrationsAssembly("CC.API")那么everthing工作正常,但文件迁移文件将在CC.API中:/
对于EF Core来说,这是一个长期存在的问题.解决方案曾经是使您的类库成为可执行文件(暂时),然后针对它运行所有EF操作.
使用当前工具,您可以Add-Migration在库文件夹中运行; 唯一需要注意的是,您需要将startup-project标志设置为实际可执行文件的项目.
所以命令最终会像:
C:\CC.Infrastructure>dotnet ef migrations add NewMigration --startup-project ../CC.API/CC.API.csproj
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1945 次 |
| 最近记录: |