如何在Linq中执行LIKE查询?
我想执行以下查询:
var results = from c in db.costumers
where c.FullName LIKE "%"+FirstName+"%,"+LastName
select c;
如何在Linq中执行LIKE查询?
我想执行以下查询:
var results = from c in db.costumers
where c.FullName LIKE "%"+FirstName+"%,"+LastName
select c;
var results = from c in db.Customers
where c.FullName.Contains (FirstName) && c.FullName.EndsWith (LastName)
select c;
你可以使用SqlMethods.Like(matchExpression,pattern)函数。
var results = from c in db.costumers
where SqlMethods.Like(c.FullName, "%"+FirstName+"%,"+LastName)
select c;
在LINQ to SQL之外使用此方法将始终引发NotSupportedException异常。
Microsoft.EntityFrameworkCore.EF.Functions.Like(c.FullName, $"%{fullName}%")
进行模糊查询。 - Alternatex试试这样做
var results = db.costumers.Where(X=>X.FullName.Contains(FirstName)&&(X=>X.FullName.EndsWith(LastName))
.Select(X=>X);
2019年已经到来:
需要使用EF6。
using System.Data.Entity;
string searchStr ="bla bla bla";
var result = _dbContext.SomeTable.Where(x=> DbFunctions.Like(x.NameAr, string.Format("%{0}%", searchStr ))).FirstOrDefault();
where c.FullName.Contains("string")
String [] obj = (from c in db.Contacts
where c.FirstName.StartsWith(prefixText)
select c.FirstName).ToArray();
return obj;
StartsWith()和EndsWith()可以在这里帮助你很多。如果你想在字段中查找数据,那么可以使用Contains()。
string[] example = { "sample1", "sample2" };
var result = (from c in example where c.Contains("2") select c);
// returns only sample2
var StudentList = dbContext.Students.SqlQuery("Select * from Students where Email like '%gmail%'").ToList<Student>();
用户可以在Linq中使用这种类似的查询,并填充学生模型。
like
查询不同,这种查询是区分大小写的。 - Protector one