Cod*_*oob 1 linq entity-framework sql-like
可能重复:
如何在Linq中使用SQL Like%?
我使用mvc 3和实体框架.我如何使用linq或lambda表达式进行搜索.请帮助
由于目标是将EF表达式解析为SQL(LIKE应该应用谓词),因此至少有3种方法可以执行此操作,具体取决于您希望%放置通配符的位置
C#:
.Where(customer => customer.Name.StartsWith("Bloggs"))
Run Code Online (Sandbox Code Playgroud)
=> SQL
WHERE c.Name LIKE 'Bloggs%'
Run Code Online (Sandbox Code Playgroud)
C#:
.Where(customer => customer.Name.Contains("Bloggs"))
Run Code Online (Sandbox Code Playgroud)
=> SQL
WHERE c.Name LIKE '%Bloggs%'
Run Code Online (Sandbox Code Playgroud)
C#:
.Where(customer => customer.Name.EndsWith("Bloggs"))
Run Code Online (Sandbox Code Playgroud)
=> SQL
WHERE c.Name LIKE '%Bloggs'
Run Code Online (Sandbox Code Playgroud)
如果适用,StartsWith应优先于其他两个,因为它更有可能在列上使用索引.(%x%通常会导致索引或表扫描).
| 归档时间: |
|
| 查看次数: |
2564 次 |
| 最近记录: |