我有基本上必须做这样的查询系统:使用小巧玲珑与SQL空间类型作为参数
SELECT * FROM MyTable WHERE @parameter.STIntersects(MyGeometryColumn)
这是非常简单的香草SQL参数时做的,你就必须在一个非典型的方式来创建你的参数(其中建设者变量是我用它来创建一个矩形一个SqlGeometryBuilder):
command.Parameters.Add(new SqlParameter
{
UdtTypeName = "geometry",
Value = builder.ConstructedGeometry,
ParameterName = "@paremeter"
});
现在,当我试图做到这一点使用短小精悍,我得到一个错误它无法弄清楚如何使用它作为参数。谁有这个工作,或任何指示如何启用此?我有一个解决方法,但涉及使用字符串表示并将其转换为SQL查询中的几何类型。我真的不想那样。
要回答评论,我收到的错误是'Microsoft.SqlServer.Types.SqlGeometry类型的成员参数不能用作参数值'。换句话说,dapper不知道如何处理一个SqlGeometry对象作为参数。
你正在收到什么错误? –