C# 4.0 如何在EF4.1中使用DbGeography空间数据类型

C# 4.0 如何在EF4.1中使用DbGeography空间数据类型,c#-4.0,entity-framework-4.1,spatial,C# 4.0,Entity Framework 4.1,Spatial,我首先使用EntityFramework4.1代码,并尝试添加一个字段来表示地理列。但是,无法识别数据类型DbGeography。我在网上找到了对System.Data.Spatial命名空间的引用,但找不到哪个程序集包含它。我发现一个网站说我需要安装SQL Server 2008 R2的系统CLR类型,但当我尝试安装时,安装程序说我已经安装了一个更新的版本。我尝试添加几个不同的SqlServer程序集,但似乎都不起作用 人们可能会看到这个错误 命名空间中不存在类型或命名空间名称“Spatia

我首先使用EntityFramework4.1代码,并尝试添加一个字段来表示地理列。但是,无法识别数据类型DbGeography。我在网上找到了对System.Data.Spatial命名空间的引用,但找不到哪个程序集包含它。我发现一个网站说我需要安装SQL Server 2008 R2的系统CLR类型,但当我尝试安装时,安装程序说我已经安装了一个更新的版本。我尝试添加几个不同的SqlServer程序集,但似乎都不起作用


人们可能会看到这个错误

命名空间中不存在类型或命名空间名称“Spatial” “System.Data”(是否缺少程序集引用?)


你找不到它,因为它不在那里。它仅在下一版本的Entity framework()的第一个CTP中可用。此CTP之前的实体框架不支持SQL空间类型。

这很有效。我想我很难理解实体框架版本是如何发布的。也许如果他们称之为“Entity Framework 4.2(2011年7月CTP)”(与程序集上的版本相匹配),我会理解它是EF 4.1的更高版本。此外,它是从EF 4.2的最终版本中提取的,因此您将被困在.NET 4.5之前。我刚刚安装了EF Power Tools的Beta 3,遇到了这个错误,我还不能将.NET升级到4.5,但至少我知道这是从哪里来的。