在 linq 查询中按条件过滤
Posted
技术标签:
【中文标题】在 linq 查询中按条件过滤【英文标题】:Filter by criteriums in linq query 【发布时间】:2010-10-28 19:51:14 【问题描述】:我有例如桌子车
table cars(
producer varchar(30),
model varchar(30),
price integer,
start datetime,
end datetime)
我需要使用标准(基于一个标准,或者两个或全部)从表中返回数据。有没有办法动态创建 linq 问题(只有一个 linq 查询,而不是为所有组合创建不同的 linq 查询)?我可以使用一些默认值,并且搜索总是购买所有,但是当我需要搜索一个或一个都不搜索时,这会降低我的性能。
【问题讨论】:
只是 FWIW,单数是“criterion”,复数是“criteria”。 “标准”是一种自行车比赛(在相对较短的赛道上进行多圈比赛)。 @Jerry Coffin 你现在可以帮忙吗? 也许您可以举例说明您想要什么样的查询以及应该返回什么数据? Conditional Linq Queries的可能重复 【参考方案1】:简短的回答是肯定的。
您可以从 Dynamic LINQ Where Extension 开始启动并运行某些东西,但它需要一些增强功能来处理 DateTimes。
我使用上面结合循环来处理多个条件:
var q = from c in db.Cars select c;
filters.ForEach (filter =>
q = q.Where (filter.Field, filter.Value, filter.Comparison);
);
【讨论】:
谢谢 Bender,我会试试这个!以上是关于在 linq 查询中按条件过滤的主要内容,如果未能解决你的问题,请参考以下文章