我正在使用EF 6,我的一个模型上出现了一个非常奇怪的错误:
字段配置为:
Property(x => x.IncidentLocationGps).HasColumnName("IncidentLocationGPS").IsOptional();
错误是:
“System.Data.Spatial.DbGeography”类型必须是非可空的 值类型,以便在泛型类型中使用它作为参数'T' 方法
System.Data.Entity.ModelConfiguration.Configuration.StructuralTypeConfiguration<TStructuralType>.Property<T>(System.Linq.Expressions.Expression<System.Func<TStructuralType,T>>
)
提前感谢您的帮助
答案 0 :(得分:4)
这是我在进一步深入了解EF6文档后最终找到的解决方案。
删除对System.Data.Entity.dll的程序集引用
安装EF6 NuGet包会将以下运行时程序集添加到项目中:
EF6 NuGet包的最新版本会从项目中删除对System.Data.Entity.dll的引用。
EF6不使用System.Data.Entity.dll中的任何代码,并且在项目中引用它可能会导致构建冲突。
可以解决这些冲突,但一般情况下,您不应在同一应用程序中使用EF6和System.Data.Entity.dll。
希望这可以帮助任何面临同样问题的人。