如何在 IEnumerable 中的 Where 部分设置参数

安德烈·戈卢布佐夫

我不知道 - 我可以在 IEnumerable 的 Where 部分传递特定参数吗?例如我有这样的查询:

 IEnumerable<Bla> quer  = quer.Where(e => e.actual == 1 && param);

哪里param会是这样

 e.Number > 5 

我认为它可以通过IsNullOrEmpty但也许使用泛型来完成
我使用 EF,它是 Web Forms。

 public class BLA
    {
        [Key]
        public int IDin { get; set; }
        public int actual { get; set; }
        public string code { get; set; }     
        public DateTime Date  { get; set; }

    }
帕特里克·霍夫曼

如果你定义param为一个函数(Func<Bla, bool>准确地说),你可以调用它:

Func<Bla, bool> param = bla => bla.Number > 5;

并称之为:

IEnumerable<Bla> quer  = quer.Where(e => e.actual == 1 && (param?.Invoke(e) ?? true));

?? true允许您在默认情况下,结果paramnull现在它会返回trueif paramis null,但如果你愿意,你可以改变它。

由于您正在运行 EF,因此您不能以上述方式使用它。

您可以使用一个Expression<Func<Bla, bool>>. EF 可以将表达式转换为实际的 SQL:

Expression<Func<Bla, bool>> param = bla => bla.Number > 5;

IEnumerable<Bla> quer  = quer.Where(e => e.actual == 1)
                             .Where(param);

对于更复杂的功能,您必须首先实现结果:

IEnumerable<Bla> quer  = quer.Where(e => e.actual == 1)
                             .ToList() // materialize
                             .Where(e => param?.Invoke(e) ?? true);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何部分设置VHS的AllowViewHelper中的FrontendUserGroup?

来自分类Dev

如何访问CSS文件中的部分设置值

来自分类Dev

如何部分设置VHS的AllowViewHelper中的FrontendUserGroup?

来自分类Dev

Swift如何在UITableView中为多个部分设置缓存标签值

来自分类Dev

如何在Word中跨不同部分设置连续分页?

来自分类Dev

Swift如何在UITableView中为多个部分设置缓存标签值

来自分类Dev

我们如何在fullPage.js中为差异部分设置不同的填充顶部和底部值?

来自分类Dev

如何在IEnumerable对象中执行foreach

来自分类Dev

IEnumerable如何在c#中存储在内存中?

来自分类Dev

如何从IEnumerable中剥离块?

来自分类Dev

如何在try catch块中返回IEnumerable对象?

来自分类Dev

如何在 C# 中初始化 IEnumerable<CustomModel>?

来自分类Dev

如何在另一个 IEnumerable 中过滤一个 IEnumerable?

来自分类Dev

如何为输入占位符的各个部分设置样式?

来自分类Dev

如何为BigQuery提取的文件部分设置上限?

来自分类Dev

如何为输入占位符的各个部分设置样式?

来自分类Dev

如何在顺序不重要的地方断言IEnumerable参数?

来自分类Dev

如何在类构造函数参数中使用IEnumerable <T>

来自分类Dev

如何在 IEnumerable<object> 上获取泛型参数的类型?

来自分类Dev

如何在LINQ查询的where子句中将方法/函数作为IEnumerable对象调用

来自分类Dev

如何在LINQ查询的where子句中将方法/函数作为IEnumerable对象调用

来自分类Dev

如何在css中将圆的一部分设置为背景

来自分类Dev

如何在公司中将注册表的某些部分设置回标准状态?

来自分类Dev

如何在 Riot.js 组件的 html 部分设置一组项目?

来自分类Dev

如何在 MYSQL 存储过程 WHERE CLAUSE 中添加 IF ELSE IF 以在参数为 NULL 时不在 WHERE 中运行 AND

来自分类Dev

如何在OpenShift中设置Maven参数

来自分类Dev

如何在Typescript中设置默认参数?

来自分类Dev

如何在RDLC中设置参数值

来自分类Dev

如何在PHP中设置参数?

Related 相关文章

  1. 1

    如何部分设置VHS的AllowViewHelper中的FrontendUserGroup?

  2. 2

    如何访问CSS文件中的部分设置值

  3. 3

    如何部分设置VHS的AllowViewHelper中的FrontendUserGroup?

  4. 4

    Swift如何在UITableView中为多个部分设置缓存标签值

  5. 5

    如何在Word中跨不同部分设置连续分页?

  6. 6

    Swift如何在UITableView中为多个部分设置缓存标签值

  7. 7

    我们如何在fullPage.js中为差异部分设置不同的填充顶部和底部值?

  8. 8

    如何在IEnumerable对象中执行foreach

  9. 9

    IEnumerable如何在c#中存储在内存中?

  10. 10

    如何从IEnumerable中剥离块?

  11. 11

    如何在try catch块中返回IEnumerable对象?

  12. 12

    如何在 C# 中初始化 IEnumerable<CustomModel>?

  13. 13

    如何在另一个 IEnumerable 中过滤一个 IEnumerable?

  14. 14

    如何为输入占位符的各个部分设置样式?

  15. 15

    如何为BigQuery提取的文件部分设置上限?

  16. 16

    如何为输入占位符的各个部分设置样式?

  17. 17

    如何在顺序不重要的地方断言IEnumerable参数?

  18. 18

    如何在类构造函数参数中使用IEnumerable <T>

  19. 19

    如何在 IEnumerable<object> 上获取泛型参数的类型?

  20. 20

    如何在LINQ查询的where子句中将方法/函数作为IEnumerable对象调用

  21. 21

    如何在LINQ查询的where子句中将方法/函数作为IEnumerable对象调用

  22. 22

    如何在css中将圆的一部分设置为背景

  23. 23

    如何在公司中将注册表的某些部分设置回标准状态?

  24. 24

    如何在 Riot.js 组件的 html 部分设置一组项目?

  25. 25

    如何在 MYSQL 存储过程 WHERE CLAUSE 中添加 IF ELSE IF 以在参数为 NULL 时不在 WHERE 中运行 AND

  26. 26

    如何在OpenShift中设置Maven参数

  27. 27

    如何在Typescript中设置默认参数?

  28. 28

    如何在RDLC中设置参数值

  29. 29

    如何在PHP中设置参数?

热门标签

归档