实体框架6和空间数据

Uro*_*osP 7 c# entity-framework spatial

我有空间数据类型的数据库.我使用数据库第一模型和实体框架6.0.2和.NET 4.5.当我尝试使用生成的类时,我得到以下错误:

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

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

我究竟做错了什么?

谢谢您的帮助.

use*_*388 23

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

希望这有助于其他人.所以,从上面的链接(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; }
Run Code Online (Sandbox Code Playgroud)

对此:

public System.Data.Entity.Spatial.DbGeography Geo { get; set; }
Run Code Online (Sandbox Code Playgroud)

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

  • 但System.Data.Entity.Spatial位于EntityFramework.dll中.你告诉我,我必须在我的POCO Entities类库中添加对Entity Framework的引用!? (3认同)

小智 5

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

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