这似乎是一个非常模糊的错误,我什至不知道从哪里开始。
当前的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无法支持类型的文字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41176240/