DbGeography的类型无法用作索引或统计信息中的键列

时间:2015-11-27 21:36:30

标签: .net entity-framework entity-framework-6 azure-sql-database .net-4.6

我首先使用的是Entity Framework 6.1代码,我正在尝试在DbGeography类型的列上创建索引,因为我的应用主要是以位置为中心,所以没有索引不是一个选项。

以下是我班上的相关部分:

public class Post
{
  ...
    [Required, Index(Order = 1)]
    public DateTime CreateDate { get; set; }

    [Required, Index(Order = 2)]
    public DbGeography Location { get; set; }
  ...
}

然而,当我运行我的应用程序(我正在使用SQL Azure)时,我得到:

Column 'Location' in table 'dbo.Posts' is of a type that is invalid for use as a key column in an index or statistics.

如何在不关闭空间索引的情况下解决此问题?

1 个答案:

答案 0 :(得分:1)

不幸的是,空间类型不能用作实体框架中的实体密钥,因为它们像过滤索引一样工作。这篇文章包含有关使用Spatial Types in the Entity Framework的更多信息。