LINQ - 建立搜索查询

时间:2016-11-10 12:51:40

标签: linq

我正在为我的客户搜索功能构建搜索查询: 我将所有这些字段传递给函数,并想知道构建LINQ表达式的最佳方法是什么。某些字段可能是空字符串,搜索应使用“包含”而不是搜索确切的字段字符串

public List<Customer> SearchCustomer(
    string membershipID, 
    string preferName, 
    string firstName, 
    string lastName, 
    string nric, 
    string phoneNumber, 
    string email, 
    DateTime dob, 
    string gender, 
    string address, 
    Boolean vip, 
    bool isDeleted)

1 个答案:

答案 0 :(得分:2)

您可以通过以下方式管理多个过滤器参数:

var result = customerCollection.
    .Where(c => membershipID != null ? c.membershipId.Contains(membershipID) : true)
    .Where(c => preferName != null ? c.preferName.Contains(membershipID) : true)

    ...

    .ToList();

我希望你明白这个想法