none
linq to entities 动态查询条件。 RRS feed

  • 问题

  • 我在项目中使用linq to entities动态创建查询条件。

    代码段如下:
    foreach (var keyword in keywords)
                {
                    int? keywordId = keyword.Id;

                    Expression sub = Expression.Call(
                        Expression.Property(r, typeof(KeywordRelationInfo).GetProperty("KeywordId")),
                        typeof(int?).GetMethod("Equals", new Type[] { typeof(object) }),
                        Expression.Constant(keywordId)
                    );
                    condition = Expression.And(sub, condition);
                }

    但是这里的int?类型无法进行比较,提示如下错误:

    类型为“System.Int32”的表达式不能用于方法“Boolean Equals(System.Object)”的类型为“System.Object”的参数

    请问如何解决?
    2009年8月31日 4:39

答案

全部回复