Effort.EF6的Spatial DbGeography Provider異常[找不到可用的空間提供者。]


我正在使用EF6開發一個應用程序,我決定將System.Data.Entity.Spatial.DbGeography用於我的位置,如下所示

public class Place
{
  public int Id { get; set; }
  public string Name { get; set; }
  public DbGeography Location { get; set; }
} 

當我運行我的測試時,我收到以下錯誤

public class Place
{
  public int Id { get; set; }
  public string Name { get; set; }
  public DbGeography Location { get; set; }
} 

PS:我正在使用Effort進行測試。

任何建議都會有所幫助,謝謝。


2015年4月3日編輯:

錯誤是Effort。它不支持空間屬性[DbGeography]我正在尋找一種解決方法,當我解決問題時,我會發布。

更多信息: https//effort.codeplex.com/discussions/471666

一般承認的答案

鑑於Effort不支持像DbGeography這樣的特殊屬性,tamasflamich 在這裡說:

沒有現有支持(甚至沒有測試版),我不打算很快就開始使用此功能。抱歉。

我也試過使用Highway.Data,但它也不支持。

它現在不存在,也不會支持AdvancedQuery,AdvancedCommand或AdvancedScalar。

我走過我的代碼並註意到我只需要一個盒子裡面的位置,然後我決定停止使用DbGeography並按我自己的方式進行,如下所示:

public class Place
{
  public int Id { get; set; }
  public string Name { get; set; }
  public double Lat { get; set; }
  public double Lng { get; set; }
}

代替:

public class Place
{
  public int Id { get; set; }
  public string Name { get; set; }
  public double Lat { get; set; }
  public double Lng { get; set; }
}

現在我有這個:

public class Place
{
  public int Id { get; set; }
  public string Name { get; set; }
  public double Lat { get; set; }
  public double Lng { get; set; }
}

這解決了我的問題,但是Effort和HighwayFramework支持空間會很棒。





許可下: CC-BY-SA
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因