Dapper Spatial Geography Type

c# dapper spatial sql-server

Pregunta

Estoy cocinando algunos ejemplos espaciales y he decidido darle una oportunidad a Dapper, aunque EF tiene soporte espacial, y me encanta tener control sobre mi SQL nuevamente (Gracias Sam y Marc).

Sin embargo, necesito poder tener POCO's que soporten la clase DbGeography . Por ejemplo :

public class BuriedTreasure {
   public int PirateId { get; set; }
   public DbGeography MarksTheSpot { get; set; }
}

Mi Google Foo me ha estado decepcionando y la coincidencia más cercana que puedo encontrar es esta pregunta, aunque solo sirve para agregar compatibilidad espacial como parámetro (por lo que es 50%).

Ahora, hasta donde puedo ver, estoy limitado a las siguientes opciones de las cuales ninguna de las dos es una solución viable.

  1. Personalice el código de dapper para comprender un tipo específico de SQL Server
  2. Especifique los decimales LONG, LAT y ELEVATION en mi POCO y cree el tipo SPATIAL en mi procedimiento almacenado y tenga otro procedimiento para recuperar los valores (o utilice una columna calculada persistente, pero eso es casi lo mismo)

¿Alternativas?

Respuesta popular

Para cualquier persona interesada, esencialmente fui por la opción 2 en la pregunta que publiqué anteriormente. Tengo mis datos espaciales mapeados en decimales. El procedimiento almacenado realiza algunas comprobaciones adicionales por lo que fue fácil construir el punto en el mismo, es decir, el siguiente fragmento:

Yarrrr = geography::Point(@Latitude, @Longitude, 4326)

Esencialmente, la clase DbGeography es inmutable, va a mostrar ... RTFM :)

¡No se requieren cambios en Dapper!



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué