0

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

LastName+", "+FirstName

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

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

现在我想像下面一样搜索我为客户公司名称所做的姓氏

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

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

谢谢,

4

2 回答 2

1

也许这个?

if(LastName!=null)
  Customer = Customer.Where(c => c.CustName.StartsWith(LastName)).ToList();
于 2012-05-25T11:34:03.970 回答
0

如果您尝试检查另一个列表是否包含相同的值,那么您可以使用它:(如果您将这些作为通用列表元素的不同属性检索)

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 检查lastname 的 array[0] 索引和 firstname 的 array[1] 索引。

选择你想要的方式..

于 2012-05-25T12:38:59.507 回答