使用实体框架的LIKE查询
本文关键字:LIKE 查询 框架 实体 | 更新日期: 2024-09-24 22:08:55
可能重复:
如何在Linq中实现SQL Like%
像实体框架中的运算符?
我正在做这样一个查询:
var matches = from m in db.Customers
where m.Name == key
select m;
但我不需要m.Name
和key完全相等。我需要m.Name
像钥匙一样。
我找不到如何重新创建SQL查询:
WHERE m.Name LIKE key
我使用的是SQL Server 2008 R2。
怎么做?
谢谢。
像这个linq查询这样的查询对你有用吗?
var matches = from m in db.Customers
where m.Name.Contains(key)
select m;
这也应该有效我编辑了我的答案。
Contains
被映射到LIKE"%@p0%",这是不区分大小写的
var matches = from m in db.Customers
where m.Name.StartsWith(key)
select m;
进行搜索并比较字符串是小写还是大写,以获得最佳结果,因为C#区分大小写。
var matches = from m in db.Customers
where m.Name.ToLower().StartsWith(key.ToLower())
select m;