【问题标题】:EF Core 2.0 Migrations issueEF Core 2.0 迁移问题
【发布时间】:2017-12-19 09:18:54
【问题描述】:

我正在使用 EF Core 创建一个新的 ASP.NET Core 2.0 项目 (SDK 2.1.2),并且在添加迁移时,由于无法解析生成的代码而无法编译 SqlServerValueGenerationStrategy。此类看起来是 Microsoft.EntityFrameworkCore.Metadata 命名空间的一部分,该命名空间应包含在 Microsoft.EntityFrameworkCore 程序集中。但是我似乎无法解决这个问题。我项目的 csproj 文件如下所示:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Reference Include="Microsoft.EntityFrameworkCore">
      <HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore\2.0.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.EntityFrameworkCore.Relational">
      <HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore.relational\2.0.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Relational.dll</HintPath>
    </Reference>
  </ItemGroup>

</Project>

基于上面的项目文件,SqlServerValueGenerationStrategy 枚举应该被解析(Microsoft.EntityFrameworkCore)但是VS2017 仍然在抱怨。有什么想法吗?

【问题讨论】:

    标签: asp.net-core-2.0 .net-core-2.0 ef-core-2.0


    【解决方案1】:

    命名空间和程序集是不同的东西。特别是,名称空间可以在程序集之间共享。

    在这种情况下,SqlServerValueGenerationStrategy 枚举确实包含在 Microsoft.EntityFrameworkCore.Metadata 命名空间中,但正如您从链接中看到的那样,它是在 Microsoft.EntityFrameworkCore.SqlServer 中定义的。 dll 程序集

    【讨论】:

    • 由于某种原因我错过了第二行。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 2022-07-15
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 2019-10-08
    相关资源
    最近更新 更多