linq where 与 或

List<Product> GetProductsByOR(params string[] keywords)
{
DBDataContext db = new DBDataContext(Database.ConnectionString);
var predicate = PredicateBuilder.False<Product>();
foreach (string keyword in keywords)
{
string temp = keyword;
predicate = predicate.Or(p => p.Description.Contains(temp));
}
var query = db.Products.Where(predicate);
//翻译后的sql语句:
//Select [t0].[ID], [t0].[Name], [t0].[Description]
//FROM [dbo].[Product] AS [t0]
//Where ([t0].[Description] LIKE '%6111%') OR ([t0].[Description] LIKE '%2350%')
return query.ToList();
}

猜你喜欢

转载自www.cnblogs.com/kissed/p/10487256.html