操作符& # 39;= = & # 39;与操作数类型不兼容'和& # 39;guid # 39;使用Dynam

本文关键字:guid 使用 Dynam 操作数 操作符 类型 不兼容 | 更新日期: 2023-09-27 18:12:48

我正在使用动态Linq库源代码和基本文档以及Nuget版本

PM> Install-Package DynamicLINQ

我正在尝试构建一个包含Guids的where子句

我已经尝试了字符串"Id == @0"。参数数组只是一个值为(Guid xxxx)

object[]
  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'不兼容

  • 我也尝试过GUID和String.(失败)
  • 我尝试了和"Id = @0"(失败)。
  • String == String工作,Int32== Int32但不Guid == Guid不

任何想法?

操作符& # 39;= = & # 39;与操作数类型不兼容'和& # 39;guid # 39;使用Dynam

尝试在字符串中使用Equals方法而不是==操作符:

"Id.Equals(@0)"