我正在做这样的查询:
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。
怎么做?
谢谢。
我正在做这样的查询:
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;