Entity framework 类型';System.Data.Spatial.DbGeography';必须是不可为空的值类型才能将其用作参数';T';
我正在使用EF 6,我的一个模型出现了一个非常奇怪的错误: 字段配置为:Entity framework 类型';System.Data.Spatial.DbGeography';必须是不可为空的值类型才能将其用作参数';T';,entity-framework,entity-framework-6,Entity Framework,Entity Framework 6,我正在使用EF 6,我的一个模型出现了一个非常奇怪的错误: 字段配置为: Property(x => x.IncidentLocationGps).HasColumnName("IncidentLocationGPS").IsOptional(); 错误是: 类型“System.Data.Spatial.DbGeography”必须是不可为空的 值类型,以便将其用作泛型类型中的参数“T”,或 方法 System.Data.Entity.ModelConfiguration.Configu
Property(x => x.IncidentLocationGps).HasColumnName("IncidentLocationGPS").IsOptional();
错误是:
类型“System.Data.Spatial.DbGeography”必须是不可为空的
值类型,以便将其用作泛型类型中的参数“T”,或
方法
System.Data.Entity.ModelConfiguration.Configuration.structureTypeConfiguration.Property(System.Linq.Expressions.Expression
)
提前感谢您的帮助这是我在深入阅读EF6文档后最终找到的解决方案 删除对System.Data.Entity.dll的程序集引用 安装EF6 NuGet包会将以下运行时程序集添加到项目中: EF6 NuGet包的最新版本将从项目中删除对System.Data.Entity.dll的引用 EF6不使用System.Data.Entity.dll中的任何代码,在项目中引用它可能会导致生成冲突。 这些冲突可以解决,但通常不应在同一应用程序中使用EF6和System.Data.Entity.dll
希望这可以帮助其他面临同样问题的人。如果您想要基于POCO的持久性不可知代码,那么这不是一个解决方案