小编Ref*_*ion的帖子

将两个 lambda 表达式与内部表达式组合

我有下一个类结构:

    public class Order
    {
        public User User { get; set; }
        public string Name { get; set; }
    }

    public class Authentication
    {
        public string Email { get; set; }      
    }

    public class User
    {
        public string Name { get; set; }
        public List<Authentication> Auths { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

我正在尝试在运行时构建一个表达式,以按 User.Name、Order.Name 或 User.Auths.Email 搜索实体

我试图组合三个表达式:

    Expression<Func<Order, bool>> usernameExpression = order => order.Name.Contains(searchValue);
    Expression<Func<Order, bool>> nameExpression = order => order.User.Name.Contains(searchValue);
    Expression<Func<Order, bool>> emailExpression = order => order.User.Auths.Any(auth => auth.Email.Contains(searchValue)); …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda expression predicate

2
推荐指数
1
解决办法
1130
查看次数

标签 统计

c# ×1

expression ×1

lambda ×1

linq ×1

predicate ×1