【发布时间】:2013-05-04 05:13:30
【问题描述】:
我正在使用 Dynamic Linq library 有 Source code and basic docu 和 Nuget 版本
PM> 安装包 DynamicLINQ
我正在尝试构建涉及GUID P>的WHERE子句
我尝试过使用字符串"Id == @0"。
参数数组只是一个object[],其值为(Guid xxxx)
var whereClauseSB = BuildLogicalKeyWhereClause2(entity, logicalKey); //build string
var parms = BuildParamArray(entity, logicalKey); // object[]
var whereLambda = Ofsi.Bos.Core.DynamicExpression.ParseLambda<T, bool>(whereClauseSB.ToString(),parms); //parse
在dynamicexpression.parselambda
中抛出异常运算符'=='与操作数类型'GUID'和'GUID' P>不兼容
- 我也尝试过使用 GUID 和字符串。(失败)
- 我尝试使用“Id = @0”(失败)。
- String == string 有效,Int32==int32 也有效,但 Guid 无效 == Guid 无效
有什么想法吗?
【问题讨论】:
-
也许代码中存在错误,因为
Guid在他们的文档中有明确的支持。
标签: c# linq dynamic dynamic-linq