【问题标题】:Linq Expression on sub child entities for n levelsn 级子实体上的 Linq 表达式
【发布时间】:2013-02-01 15:14:32
【问题描述】:

以下查询需要通用表达式。

I don't want to use the Dynamic library and Predicate builder.

我正在动态生成表达式。

var test = entity.User.Where(PUser => PUser.Role.TeamRoles.Any(PTeamRoles => PTeamRoles.TeamId == "222")));

我想为一对一和多个关系查询生成动态表达式。

【问题讨论】:

    标签: linq entity-framework-4 linq-to-entities linq-expressions


    【解决方案1】:

    我找到了解决办法

    表达式 proeprtyexpression = Expression.Property(PTeamRoles, "TeamId"); 表达式值express = Expression.Constant("A"); //表达式内部表达式 = Expression.Lambda(Expression.Equal(proeprtyexpression, valueexpress), PTeamRoles); 表达式内部表达式 = Expression.Lambda(ExcelExpressionHelper.ApplyOperator(proeprtyexpression, valueexpress, "StartsWith"), PTeamRoles);

            Type winnertype = PTeamRoles.Type;
            Type woutertype = PRole.Type;
            var wouterProperty = Expression.Property(PRole, "TeamRoles");
    
            var outerMethodExpression = Expression.Call(typeof(Enumerable), "Any", new[] { winnertype }, wouterProperty, innerexpression);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多