在linq查询中按标准过滤

时间:2010-10-28 19:51:15

标签: linq

我有例如桌车

table cars(
producer varchar(30),
model varchar(30),
price integer,
start datetime,
end datetime)

我需要使用标准从表中返回数据(基于一个标准,或者两个或全部标准)。有没有办法动态创建linq问题(只有一个linq查询,而不是为所有组合创建不同的linq查询)?我可以使用一些默认值,搜索总是购买所有,但当我需要搜索一个或没有时,这会降低我的性能。

1 个答案:

答案 0 :(得分:0)

简短的回答是肯定的。

您可以从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);
});