我写了一个存储过程,它以下面的格式返回客户名称
LastName+", "+FirstName
我已将其分配给以下属性类。
Customer = DbContext.ExecuteStoreQuery<SearchEmployeeCDTO>("exec GetCustomerDetails").AsQueryable().ToList();
现在我想搜索下面的姓氏,就像我为客户公司名称
所做的那样if(CompanyName!=null && LastName==null)
Customer = Customer.Where(c => c.CompName.Contains(CompanyName)).ToList();
请建议我如何从lastName和FirstName格式的组合中搜索LastName
感谢,
答案 0 :(得分:1)
也许这个?
if(LastName!=null)
Customer = Customer.Where(c => c.CustName.StartsWith(LastName)).ToList();
答案 1 :(得分: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的数组[1]。
选择您想要的方式..