我的域名
public DbGeography Location { get; set; }
这在我的映射中
this.Property(t => t.Location);
现在在我的映射文件中,我在上面的行中出现错误
Error 1 The type 'System.Data.Spatial.DbGeography' must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method 'System.Data.Entity.ModelConfiguration.Configuration.StructuralTypeConfiguration<TStructuralType>.Property<T>(System.Linq.Expressions.Expression<System.Func<TStructuralType,T>>)'
在EF 5中从未出现过此错误。
答案 0 :(得分:3)
这是我在进一步深入了解EF6文档后最终找到的解决方案。
删除对System.Data.Entity.dll的程序集引用
安装EF6 NuGet包会将以下运行时程序集添加到项目中:
EF6 NuGet包的最新版本会从项目中删除对System.Data.Entity.dll的引用。
EF6不使用System.Data.Entity.dll中的任何代码,并且在项目中引用它可能会导致构建冲突。
可以解决这些冲突,但一般情况下,您不应在同一应用程序中使用EF6和System.Data.Entity.dll。
希望这可以帮助任何面临同样问题的人。