Tengo un sistema que básicamente tiene que hacer una consulta como esta:Dapper con tipos espaciales de SQL como parámetro
SELECT * FROM MyTable WHERE @parameter.STIntersects(MyGeometryColumn)
Esto es bastante fácil de hacer cuando se utilizan parámetros de vainilla SQL, sólo hay para crear su parámetro de una manera atípica (donde la variable constructor es un SqlGeometryBuilder que utilizo para crear un rectángulo):
command.Parameters.Add(new SqlParameter
{
UdtTypeName = "geometry",
Value = builder.ConstructedGeometry,
ParameterName = "@paremeter"
});
Ahora, Cuando trato de hacer esto utilizando apuesto, me sale un error que no puede entender cómo usar esto como un parámetro. ¿Alguien que tiene esto funcionando, o algún indicador sobre cómo habilitar esto? Tengo una solución alternativa, pero eso implica el uso de la representación de cadena y convertir eso a un tipo de geometría en mi consulta SQL. Realmente no quiero eso.
Para responder al comentario, el error que obtengo es 'El parámetro miembro de tipo Microsoft.SqlServer.Types.SqlGeometry no se puede usar como valor de parámetro'. En otras palabras, dapper no sabe cómo tratar con un objeto SqlGeometry como parámetro.
¿Cuál es el error que está recibiendo? –