繁体   English   中英

使用Entity Framework进行动态Linq查询

[英]dynamic Linq queries with Entity Framework

我知道在构建动态LINQ查询一些努力,比如这个这个

似乎没有理想,因为我想避免将表达式放在字符串中,并省略不需要的地方。

我主要担心的是查询是针对数据库进行优化的,并且尽可能动态地省略不必要的子句。

EF 4.0中是否有针对此类场景的新发展?

UPDATE

这里有一个我发现非常有用的链接: http//www.albahari.com/nutshell/predicatebuilder.aspx确实,动态添加“And”过滤器很简单,使用谓词构建器可以轻松添加“Or”过滤器:

var predicate = PredicateBuilder.False<Product>();
predicate = predicate.Or (p => p.Description.Contains (temp));

根据LinqPad,sql会根据应用的过滤器进行相应的调整。

为了省略Where cause(伪代码,希望我能正确理解你的问题):

var query = IQueryable<Foo>();

if(someCondition)
    query = query.Where(......);

var result = query.Select(.......);

对于动态查询 - 我没有听说过任何新内容。 恕我直言,我们将不得不保持弦乐。 你能想出一些更好的方法吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM