从姓氏+“、”+名字使用 LINQ 的组合中搜索名字

本文关键字:LINQ 组合 搜索 | 更新日期: 2023-09-27 18:35:24

我编写了一个存储过程,它以以下格式返回客户名称

LastName+", "+FirstName

我已将其分配给如下所示的属性类。

Customer = DbContext.ExecuteStoreQuery<SearchEmployeeCDTO>("exec GetCustomerDetails").AsQueryable().ToList();

现在我想搜索姓氏,如下所示,我为客户公司名称所做的

if(CompanyName!=null && LastName==null)
Customer = Customer.Where(c => c.CompName.Contains(CompanyName)).ToList();

请建议我如何从姓氏和名字格式的组合中搜索姓氏

谢谢

从姓氏+“、”+名字使用 LINQ 的组合中搜索名字

也许是这个?

if(LastName!=null)
  Customer = Customer.Where(c => c.CustName.StartsWith(LastName)).ToList();

如果您尝试检查另一个列表包含相同或不包含的值,则可以使用以下内容:(如果您将这些作为通用列表元素的不同属性检索)

bool b = your1stList.Exists(c=> c.firstName == your2ndList.firstName ,
                               c.middleName == your2ndList.middleName ,
                               c.lastName  == your2ndList.lastName)
if ( b == true) 
{ 
  MessageBox.Show("You already have this Customer"); 
}

这是在没有任何连接活动的情况下检索所有属性的好方法。让您免于未来查询中的一些头痛;)

另一方面,如果我们继续您的查询,那么您需要将 lastname + firstName 的值获取到一个字符串中,并使用 String.Split(",") 函数放入一个字符串数组,然后如果单词 lastName+firstname 检查 array[0] 索引的姓氏和数组 [1] 的姓氏。

选择您想要的方式..