entity framework6和空间数据

我有空间数据类型的数据库。 我使用数据库第一模型和entity framework6.0.2和.NET 4.5。 当我尝试使用生成的类时,我得到以下错误:

指定的架构无效。 错误:未加载关系“Name_FK1”,因为“Model.TypeB”类型不可用。 以下信息可用于解决先前的错误:“Data.TypeB”类型的属性“Position”具有属性类型“System.Data.Spatial.DbGeography”,该属性类型无法映射到基本类型。

我使用空间类型的所有表都列出了相同的错误。 ‘Name_FK1’是外键关系。

我究竟做错了什么?

谢谢您的帮助。

我修好了它! 非常自豪:)

希望这有助于其他人。 所以,从上面的链接( http://msdn.microsoft.com/en-US/data/dn469466 )有这一行:

空间类(例如DbGeography,DbGeometry)已从System.Data.Spatial => System.Data.Entity.Spatial移动

在我收到此错误之前:

未加载关系“IntakeModel.FK_Assignee_HomeLocation”,因为“IntakeModel.Location”类型不可用。 以下信息可能有助于解决上一个错误:“ConsoleApplication3.Location”类型的属性“Geo”的属性类型为“System.Data.Spatial.DbGeography”,无法映射到基本类型。

我只需要在Location.cs文件中更改它:

public System.Data.Spatial.DbGeography Geo { get; set; } 

对此:

 public System.Data.Entity.Spatial.DbGeography Geo { get; set; } 

问题解决了。 感谢您发布链接@Ricky Jones。

我按照以下链接上的说明操作,这导致我需要解决的其他问题,但它确实解决了我的空间问题。

http://msdn.microsoft.com/en-US/data/dn469466

导致此问题的原因是您为EF 6.0 edmx创建了EF 5.x DbContext Generator以解决此问题,您只需要删除旧的DbContext Generator并使用EF 6.0 DbContext Generator创建一个新的DbContext Generator。

这对我来说很好。