gpt4 book ai didi

c# - Entity Framework Core 2.0 添加迁移不生成任何内容

转载 作者:太空狗 更新时间:2023-10-30 00:01:15 25 4
gpt4 key购买 nike

我是 EF 新手,正在尝试使用 VS 2017、.NET Core 2.0 和 EF 2.0 创建一个简单的测试解决方案,但我无法add-migration 创建迁移文件夹和初始迁移。

我用两个 .Net Core 类库项目创建了一个名为 Driver 的解决方案:

Driver.Data
Driver.Domain

Driver.Data 中安装了以下包:

Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools

Driver.Data 有一个名为 Driver.Context 的 cs 文件:

using Driver.Domain;
using Microsoft.EntityFrameworkCore;

namespace Driver.Data
{
public class DriverContext : DbContext
{
public DbSet<Company> Companies { get; set; }

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(
"Server=(localdb)\\mssqllocaldb; Database=Driver; Trusted_Connection=True;"
);
}
}

}

Driver.Domain 有一个名为 Company.cs 的 cs 文件:

namespace Driver.Domain
{
public class Company
{
public int Id { get; set; }
public string Name { get; set; }
public string City { get; set; }
public string State { get; set; }
}
}

我已将启动项目设置为 Driver.Data,并在 PM 控制台中将默认项目设置为 Driver.Data

这是 add-migration init -verbose 的输出:

Using project 'Driver.Data'.
Using startup project 'Driver.Data'.
Build started...
Build succeeded.
C:\Program Files\dotnet\dotnet.exe exec --depsfile "C:\Users\alex.florin\Documents\Visual Studio 2017\Projects\Driver\trunk\Driver.Data\bin\Debug\netcoreapp2.0\Driver.Data.deps.json" --additionalprobingpath C:\Users\alex.florin\.nuget\packages --additionalprobingpath "C:\Program Files (x86)\Microsoft SDKs\NuGetPackagesFallback" --additionalprobingpath "C:\Program Files\dotnet\sdk\NuGetFallbackFolder" --fx-version 2.0 "C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore.tools\2.0.1\tools\netcoreapp2.0\ef.dll" migrations add init --json --verbose --no-color --prefix-output --assembly "C:\Users\alex.florin\Documents\Visual Studio 2017\Projects\Driver\trunk\Driver.Data\bin\Debug\netcoreapp2.0\Driver.Data.dll" --startup-assembly "C:\Users\alex.florin\Documents\Visual Studio 2017\Projects\Driver\trunk\Driver.Data\bin\Debug\netcoreapp2.0\Driver.Data.dll" --project-dir "C:\Users\alex.florin\Documents\Visual Studio 2017\Projects\Driver\trunk\Driver.Data\\" --root-namespace Driver.Data

没有错误,但没有生成任何内容。

最佳答案

当我在她的 pluralsight 类(class)讨论中提问时,@JulieLerman 提供了答案。尝试使用 .NET Core 类库进行此操作显然存在问题。成功的解决方法是将以下内容放入 DBContext 项目的 csproj 文件中:

<PropertyGroup>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConf‌igurationFiles>
</PropertyGroup>

她写了一篇关于它的博客: http://thedatafarm.com/data-access/the-secret-to-running-ef-core-2-0-migrations-from-a-net-core-or-net-standard-class-library/

另外,一定要将里面有DBContext的项目设置为启动项目

关于c# - Entity Framework Core 2.0 添加迁移不生成任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48102431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com