【发布时间】:2014-09-01 06:34:24
【问题描述】:
使用目标平台设置为以下之一的 Sql Server Data Tools 项目:
- SQL Server 2008
- SQL Server 2012
- SQL Server 2014
并部署到 (localdb)\Projects 或 (localdb)\ProjectsV12
调用返回 Geometry、Geography 或 HierachyId 类型的存储过程,例如:
CREATE PROCEDURE [dbo].[SelectSqlGeometry]
@x Geometry
AS
SELECT @x as y
RETURN 0
如下调用代码:
var result = Connection.Query("dbo.SelectSqlGeometry", new { x = geometry }, commandType: CommandType.StoredProcedure).First();
bool isSame = ((bool)geometry.STEquals(result.y));
导致 STEquals 行出现以下异常。
Microsoft.CSharp.RuntimeBinder.RuntimeBinderInternalCompilerException 未被用户代码处理 HResult=-2146233088 Message=An 绑定动态操作时发生意外异常
来源=Microsoft.CSharp StackTrace: 在 Microsoft.CSharp.RuntimeBinder.RuntimeBinder.Bind(DynamicMetaObjectBinder 有效载荷,IEnumerable1 parameters, DynamicMetaObject[] args, DynamicMetaObject& deferredBinding) at Microsoft.CSharp.RuntimeBinder.BinderHelper.Bind(DynamicMetaObjectBinder action, RuntimeBinder binder, IEnumerable1 args,IEnumerable1 arginfos, DynamicMetaObject onBindingError) at Microsoft.CSharp.RuntimeBinder.CSharpConvertBinder.FallbackConvert(DynamicMetaObject target, DynamicMetaObject errorSuggestion) at System.Dynamic.DynamicMetaObject.BindConvert(ConvertBinder binder) at System.Dynamic.ConvertBinder.Bind(DynamicMetaObject target, DynamicMetaObject[] args) at System.Dynamic.DynamicMetaObjectBinder.Bind(Object[] args, ReadOnlyCollection1 参数,LabelTarget returnLabel) 在 System.Runtime.CompilerServices.CallSiteBinder.BindCore[T](CallSite`1 网站,对象 [] 参数) 在 System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,Tret](CallSite 站点,T0 arg0) 在 DATAilor.Examples.Dapper.SqlClient.Test.AllTypesDAOTest.TestAllTypesDynamic()
【问题讨论】:
标签: .net sql-server dapper