2013-05-19 38 views
2

我有這個在我的域名交換從EF 5 EF 6阿爾法3 - 現在DbGeography並不在我的測繪工作

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.

+1

刪除對System.Data.Entity的引用 – ErikEJ

回答

3

這是我在深入挖掘EF6文檔後最終找到的解決方案。

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

安裝EF6 NuGet包增加了以下運行時組件到您的項目:

最近構建EF6 NuGet包的刪除參考系統.Data.Entity.dll來自該項目。

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

這些衝突可以解決,但一般情況下,你不應該在同一個應用程序中使用EF6和System.Data.Entity.dll。

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

+1

使用EF不可知POCO對象時不是解決方案。 – Crono