Exception de fournisseur DbGeography spatiale avec Effort.EF6 [Aucun fournisseur spatial utilisable n'a pu être trouvé.]

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

Question

Je développe une application avec EF6 et j'ai décidé d'utiliser System.Data.Entity.Spatial.DbGeography pour mes emplacements comme suit

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

Lorsque je lance mes tests, j'obtiens l'erreur suivante

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

PS: J'utilise Effort pour mes tests.

Toute suggestion serait utile, merci.


Édité le 03/04/15:

L'erreur est avec effort. Il ne prend pas en charge les propriétés spatiales [DbGeography] Je recherche une solution de contournement que je publierai une fois le problème résolu.

Plus d'infos: https://effort.codeplex.com/discussions/471666

Réponse acceptée

Étant donné qu'Effort ne prend pas en charge des propriétés spéciales telles que DbGeography et tamasflamich, dit ici :

Il n'y a pas de support existant (pas même la version bêta) et je ne prévois pas de commencer à travailler sur cette fonctionnalité de si tôt. Pardon.

J'ai aussi essayé d'utiliser Highway.Data mais cela ne prend pas en charge non plus.

À l'heure actuelle, il ne prend pas en charge ni AdvancedQuery, AdvancedCommand, ou AdvancedScalar.

J'ai parcouru mon code et remarqué que je n'avais besoin que des emplacements à l'intérieur d'une boîte, puis j'ai décidé de cesser d'utiliser DbGeography et de le faire moi-même, comme suit:

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

Au lieu de:

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

Maintenant j'ai ceci:

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

Cela résout mon problème, mais ce serait formidable que Effort et HighwayFramework prennent en charge l’espace.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi