2012-05-18 16 views
12

Tengo un formulario desde el cual el usuario podrá ingresar la latitud y longitud de un cierto punto en el mapa. Los datos se ingresarán como valores de cadena. Hice algunas investigaciones y descubrí por varias fuentes que Entity Framework no admite tipos de datos de geografía.¿Cómo leer/escribir datos geográficos usando C#, Entity Framework y SQL Server 2008?

  • ¿Cómo puedo analizar y/o guardar los datos de cadena en una columna de geografía en una base de datos?
  • ¿Cómo puedo acceder y volver a analizarlo como una cadena una vez que está almacenado?

¡Gracias de antemano!

+0

Consulte este enlace. http://stackoverflow.com/questions/23292268/what-is-c-sharp-equivalent-of-geography-sql-server-datatype-in-net-framework-4 –

Respuesta

18

De hecho, los componentes de Entity Framework 5 que se incluyen con .NET Framework 4.5 son compatibles con tipos espaciales. Eche un vistazo a este walkthrough.

EDITAR Con EF6 puede utilizar tipos espaciales tanto en .NET Framework 4 y .NET Framework 4.5

+0

Gran artículo. Gracias por recomendar esto –

+1

Entonces, el problema que estoy viendo es que mantengo mi POCOS lo más limpio posible, omitiendo todas las referencias/dependencias al marco de entidad y el almacén de persistencia como sea posible, luego tengo un conjunto o clases de repositorio que conocen sobre el almacén de persistencia. También me mantengo alejado de los atributos de DataAnnotation usando una configuración fluida. Tan pronto como ponga DbGeography, necesitará 'using System.Data.Entity' que rompa el enfoque de persistencia independiente, al menos para el Objeto Old C# "Normal". –

+0

.NET no tiene un tipo espacial nativo, ¿de qué otro modo podría hacer esto? Obviamente, podrías hackear un poco al no usar tipos espaciales EF pero 'byte []' para las propiedades espaciales en tus entidades, pero aún necesitarías traducirlo de algún modo al byte [] para hacerlo utilizable. – Pawel

Cuestiones relacionadas