gpt4 book ai didi

linq - 使用 Entity Framework 进行动态 Linq 查询

转载 作者:行者123 更新时间:2023-12-02 18:34:48 26 4
gpt4 key购买 nike

我知道动态构建 Linq 查询的努力很少,例如 this ,和this

似乎没有一个是理想的,因为我想避免将表达式放入字符串中,并在不需要时省略 where 。

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

针对此类场景,EF 4.0 有什么新的进展吗?

更新

这是我发现非常有帮助的一个链接: 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原因(伪代码,希望我正确理解你的问题):

var query = IQueryable<Foo>();

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

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

对于动态查询 - 我还没有听说过任何新的东西。恕我直言,我们将不得不保留字符串。你能想出一些更好的方法吗?

关于linq - 使用 Entity Framework 进行动态 Linq 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3983355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com