使用单独的程序集进行迁移

时间:2020-01-18 15:48:44

标签: c# .net-core

我为此很生气。

运行Visual Studio 2019相对。 16.4.3

  1. 创建.Net Core 3.1 Razor应用程序(WebLink)

    1. 创建.Net标准类库(WebLink.DAL)
    2. 在类库中创建模型和DbContext
    3. Weblink应用程序中的参考DAL类库。
    4. 在应用中设置依赖项注入:

      options.UseSqlServer(Configuration.GetConnectionString(“ WebLink”), b => b.MigrationsAssembly(“ WebLink.DAL”));

    5. 在WebLink应用程序项目上运行添加迁移

我一次又一次收到此错误: 您的目标项目“ WebLink”与迁移程序集“ WebLink.DAL”不匹配。更改目标项目或更改迁移程序集。 通过使用DbContextOptionsBuilder更改迁移程序集。例如。 options.UseSqlServer(connection,b => b.MigrationsAssembly(“ WebLink”))。默认情况下,迁移程序集是包含DbContext的程序集。 通过使用Package Manager控制台的“默认项目”下拉列表,或从包含迁移项目的目录中执行“ dotnet ef”,将目标项目更改为迁移项目。

如果我在nuget控制台中更改为Weblink.DAL默认项目并再次运行迁移,则会收到此错误,这当然是正确的(但如果我将Class lib引用到App-我当然会出现循环错误):

启动项目“ WebLink.DAL”以框架“ .NETStandard”为目标。没有与该框架关联的运行时,并且无法直接执行针对该框架的项目。要将Entity Framework Core软件包管理器控制台工具与此项目一起使用,请添加一个引用此项目的,针对.NET Framework或.NET Core的可执行项目,并将其设置为启动项目。或者,将此项目更新为跨目标.NET Framework或.NET Core。有关将EF Core Tools与.NET Standard项目一起使用的更多信息,请参见https://go.microsoft.com/fwlink/?linkid=2034705

我正在尝试观看“ iamtimcoreys”有关EF最佳做法的最新视频,但因该错误而陷入困境。

0 个答案:

没有答案