gpt4 book ai didi

c# - EF Core 1.1 迁移 - 当前的 CSharpHelper 无法搭建类型文字的脚手架

转载 作者:行者123 更新时间:2023-11-30 20:32:35 25 4
gpt4 key购买 nike

这似乎是一个非常晦涩的错误,我什至不知道从哪里开始......

The current CSharpHelper cannot scaffold literals of type 'System.Func`3[Microsoft.EntityFrameworkCore.Metadata.IProperty,Microsoft.EntityFrameworkCore.Metadata.IEntityType,Microsoft.EntityFrameworkCore.ValueGeneration.ValueGenerator]'. Configure your services to use one that can.

这是在我运行时发生的

dotnet ef migrations add initial

更新 1 - 基于 Rob 的问题

应用程序的架构使用了丰富的领域模型,因此有一些“变通办法”可以使封装集合和 Jimmy Bogard 的类型化枚举模式正常工作。

每个域模型对象在数据访问层都有自己的EntityTypeBuilder 类,所有这些都是从DbContext 中的OnModelCreating 调用的。它们还会向 Console 输出一些信息,因此我可以看到构建器没有导致任何错误(此时都没有错误)。

DbContext 仅公开聚合根实体的 DbSet,或者换句话说,仅公开具有相应存储库类的实体。域模型对象的其余部分是导航属性,因此不需要通过 DbContext 公开 DbSet

平台细节(据我所知)

  • .NET Core 1.1(运行时 + SDK)
  • EF 核心 1.1
  • Microsoft.EntityFrameworkCore.Tools 1.0.0-preview2-final
  • Microsoft.EntityFrameworkCore.Design 1.0.0-preview2-final

最佳答案

您使用的是 .NET Core 1.1 运行时,但使用的是旧工具包(您应该使用最新的工具,截至目前它是 preview4,仍处于 alpha,与运行时相反 - 是的,起初不是很直观)

总而言之,这是一个 Known Issue

"tools": {
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4"
}
  • 您可能需要也可能不需要通过在 src 文件夹上方使用 global.json 修复 SDK 版本,该文件夹应包含您的代码 explained in Hanselman's blog

{
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-preview2-1-003177"
}
}

编辑:只是为了给你一个更完整的答案,这就是我的 project.json 和我的示例项目的样子(全部在 VS Code 中完成):

{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.EntityFrameworkCore": "1.1.0-preview1-final",
"Microsoft.EntityFrameworkCore.Design": "1.1.0-preview1-final",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0-preview1-final",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0-preview1-final",
},
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
}
},
"imports": "dnxcore50"
}
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final"
}
}

VS Code Project Layout

关于c# - EF Core 1.1 迁移 - 当前的 CSharpHelper 无法搭建类型文字的脚手架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41176240/

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