fre*_*hie 5 c# linq linq-to-sql
我有一个包含FirstName和LastName的表以及一个看起来像这样的查询:
var TheQuery = (from c in MyDC.Contacts
where (c.FirstName.Contains(TheSearchParameter) ||
c.LastName.Contains(TheSearchParameter))
select c.ColumnID).Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)
如果用户搜索John或Smith,将返回记录,但如果用户搜索John Smith,则没有记录返回。如何Contains()运作?为了使其按预期工作,我需要在查询中进行哪些更改?
您可以考虑StartsWith在 LINQ 表达式中添加方法。StartsWith 的工作方式与 SQL 类似where Column LIKE 'Something%'。您EndsWith还可以添加以使您的搜索范围更广
var TheQuery = (from c in MyDC.Contacts
where (c.FirstName.Contains(TheSearchParameter) ||
c.FirstName.StartsWith(TheSearchParameter) ||
c.FirstName.EndsWith(TheSearchParameter) ||
c.LastName.StartsWith(TheSearchParameter) ||
c.LastName.EndsWith(TheSearchParameter) ||
c.LastName.Contains(TheSearchParameter))
select c.ColumnID).Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
709 次 |
| 最近记录: |