我有一个DataTable
,里面有几列。其中一些列的数据类型为System.Data.SqlTypes.SqlGuid
。
当我使用以下DataTable.Select()
:
sql
时
(GB_OH_OrgProxy = CONVERT(CONVERT('91ad5719-8d8c-4b32-93f1-ae338ad267c1', 'System.Guid'), 'System.Data.SqlTypes.SqlGuid')) and GB_IsActive = 1 and (GB_GC = CONVERT(CONVERT('03052ed3-2c64-49ac-97d8-c6079d5015b5', 'System.Guid'), 'System.Data.SqlTypes.SqlGuid'))
它会抛出System.Data.EvaluateException
消息:
无法对System.Data.SqlTypes.SqlGuid和System.Boolean执行'And'操作。
看起来Ado.Net
数据评估器构建了错误的评估树,即使在“SqlGuid”字段比较周围添加了括号也是如此。
你有什么建议如何解决这个问题吗?
(我使用.NET Framework 4.6.2
)