根据这个:
http://msdn.microsoft.com/en-us/library/ms172417.aspx,可以使用“DbGeography”,因为它将映射到数据库端的“image”。 (与使用枚举时一样,它们映射到整数)
然而,
如果我有这个:
public class Something
{
public long SomethingId { get; set; }
public string Name { get; set; }
public DbGeography Location { get; set; }
}
首次创建数据库时(使用带有“Code First”方法的EF6),我得到了这个例外:
There is no store type corresponding to the EDM type 'Edm.Geography(Nullable=True)' of primitive type 'Geography'.
我的连接字符串如下:
<add name="MyDbContext" connectionString="Data Source=|DataDirectory|MyDatabase.sdf" providerName="System.Data.SqlServerCe.4.0" />
我做错了什么? 我查了一下,我的EF的dll是版本6
答案 0 :(得分:0)
您不能这样做,MSDN文章指的是复制组件将此列类型中的数据移动到SQL Compact中的“image”列。
您必须使用:
[MaxLength]
public byte[] Location { get; set; }
存储数据,并使用Spatial库在您的应用中来回转换