c# .net entity-framework entity-framework-5 sqlgeography

c# - EntityType ''DbGeography'' no tiene una clave definida



.net entity-framework (1)

Esto resultó ser lo contrario de lo que leí de la propia respuesta de Microsoft sobre un problema similar en Codeplex here , e incluso su documentación aquí . ¿Lo interpreté mal? Ambos enlaces indican que en EF 6, el tipo de datos DbGeography se movió de System.Data.Entity.Spatial a solo System.Data.Spatial, pero lo contrario parece cierto.

Cambié

using System.Data.Spatial;

a

using System.Data.Entity.Spatial;

y funciona.

Oyente desde hace mucho tiempo, la persona que llama por primera vez (¡finalmente hizo una cuenta aquí!) ...

Estoy usando Visual Studio 2013 con .NET 4.5.1 y Entity Framework 6 (versiones finales, no RC o beta).

Cuando intento agregar una propiedad DbGeography a mi entidad, recibo este error al ejecutarlo:

One or more validation errors were detected during model generation: Geocoder.DbGeography: : EntityType ''DbGeography'' has no key defined. Define the key for this EntityType. DbGeographies: EntityType: EntitySet ''DbGeographies'' is based on type ''DbGeography'' that has no keys defined.

Ya confirmé que no tengo referencias a versiones anteriores de Entity Framework (se explica here ). He estado usando esta publicación y este artículo de MSDN para obtener ejemplos / información, ya que esta es mi primera incursión en tipos espaciales en .NET (y SQL Server, en realidad).

Aquí está mi entidad:

public class Location { public int Id { get; set; } public string Name { get; set; } public string Address1 { get; set; } public string Address2 { get; set; } public string City { get; set; } public virtual State State { get; private set; } public string ZipCode { get; set; } public string ZipCodePlus4 { get; set; } public DbGeography Geocode { get; set; } public Hours Hours { get; set; } public virtual ICollection<Language> Languages { get; private set; } public virtual OfficeType OfficeType { get; private set; } [JsonIgnore] public virtual ICollection<ProviderLocation> Providers { get; private set; } }

¿Qué estoy haciendo mal?