類型'System.Data.Spatial.DbGeography'必須是非可空值類型才能將其用作參數'T'

entity-framework entity-framework-6

我正在使用EF 6,我在其中一個模型上遇到了一個非常奇怪的錯誤:

字段配置為:

Property(x => x.IncidentLocationGps).HasColumnName("IncidentLocationGPS").IsOptional();

錯誤是:

類型'System.Data.Spatial.DbGeography'必須是非可空值類型,以便在泛型類型或方法System.Data.Entity.ModelConfiguration.Configuration.StructuralTypeConfiguration<TStructuralType>.Property<T>(System.Linq.Expressions.Expression<System.Func<TStructuralType,T>>其用作參數'T' System.Data.Entity.ModelConfiguration.Configuration.StructuralTypeConfiguration<TStructuralType>.Property<T>(System.Linq.Expressions.Expression<System.Func<TStructuralType,T>>

在此先感謝您的幫助

熱門答案

這是我在進一步深入了解EF6文檔後最終找到的解決方案。

刪除對System.Data.Entity.dll的程序集引用

安裝EF6 NuGet包會將以下運行時程序集添加到項目中:

EF6 NuGet包的最新版本從項目中刪除對System.Data.Entity.dll的引用。

EF6不使用System.Data.Entity.dll中的任何代碼,並在項目中引用它可能會導致構建衝突。

可以解決這些衝突,但通常不應在同一應用程序中使用EF6和System.Data.Entity.dll。

希望這可以幫助任何面臨同樣問題的人。




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因