这似乎是一个非常模糊的错误,我什至不知道从哪里开始。


  当前的CSharpHelper无法支撑类型的文字
  'System.Func`3 [Microsoft.EntityFrameworkCore.Metadata.IProperty,Microsoft.EntityFrameworkCore.Metadata.IEntityType,Microsoft.EntityFrameworkCore.ValueGeneration.ValueGenerator]]。
  配置您的服务以使用可以的服务。


这是我跑步时发生的

dotnet ef migrations add initial


更新1-基于Rob的问题

该应用程序的体系结构使用了一个丰富的域模型,因此有一些“变通办法”来实现诸如封装集合之类的东西,以及Jimmy Bogard的类型化枚举模式的正常工作。

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

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

平台细节(据我所知)


.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


按照Announcing Entity Framework Core 1.1中的说明更新project.json以使用Preview4




"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"
  }
}


c# - EF Core 1.1迁移-当前的CSharpHelper无法支持类型的文字-LMLPHP

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

10-15 23:43