首页 > 解决方案 > 实体框架在从数据库更新时不返回地理列

问题描述

我刚刚接到了一项向 SQL Server 2012 数据库添加表的任务。该表有一个地理列:

CREATE TABLE [dbo].[GeoStates]
(
    [Id] [INT] IDENTITY(1,1) NOT NULL,
    [GEOID] [CHAR](5) NULL,
    [STATE] [NVARCHAR](50) NULL,
    [GEO_OBJECT] [GEOGRAPHY] NULL
)

DAL项目为ASP.NET 4.0,内置VS2010,Entity Framework版本为4.4.0.0,运行时版本:v4.0.30319。

当我通过“从数据库更新”导入此表时,VS 会导入除地理列之外的所有列。

我正在使用的东西是否有可能,如果可以,我该如何完成?如果没有,最早的 EF 版本是什么?这是否意味着也要更新 ASP.Net 版本,VS2010 能走多高?

标签: sql-serverentity-frameworkgeospatial

解决方案


正如您提到的版本问题,不确定是否可以将 EF 更新到 6,另一种解决方案可能是创建存储过程。

检查此链接空间数据类型

EF版本应该是6

您可以使用System.Data.Spatial.DbGeography.

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

推荐阅读