Исключение провайдера Spatial DbGeography Provider с Effort.EF6 [Нет доступного пространственного провайдера.]

asp.net-mvc c# effort entity-framework-6 spatial

Вопрос

Я разрабатываю приложение с 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: Я использую « Усилия» для своих тестов.

Любое предложение было бы полезно, спасибо.


Отредактировано 03/04/15:

Ошибка связана с усилием. Он не поддерживает пространственные свойства [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 with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему