gpt4 book ai didi

c# - Linq.Dynamic FirstOrDefault() 嵌套在 OrderBy 中

转载 作者:行者123 更新时间:2023-11-30 16:37:30 24 4
gpt4 key购买 nike

我有以下 Linq 语句,它工作得很好:

query = query.OrderBy(m => m.MATERIAL_TXT.Where(mt => mt.LANG == "EN").FirstOrDefault().LTEXT);

现在我尝试使用 Linq.Dynamic 中基于字符串的语法使其动态化:

query = query.OrderBy("MATERIAL_TXT.Where(LANG==\"EN\").FirstOrDefault().LTEXT");

但它抛出异常:

"No applicable aggregate method 'FirstOrDefault' exists"

它必须是动态的,以便它接受其他名称而不是“MATERIAL_TXT”。

我错过了什么?

最佳答案

根据文档:

A subset of the Standard Query Operators is supported for objects that implement IEnumerable. Specifically, the following constructs are permitted, where seq is an IEnumerable instance, predicate is a boolean expression, and selector is an expression of any type:

  • seq.Where(predicate)
  • seq.Any()
  • seq.Any(predicate)
  • seq.All(predicate)
  • seq.Count()
  • seq.Count(predicate)
  • seq.Min(selector)
  • seq.Max(selector)
  • seq.Sum(selector)
  • seq.Average(selector)

FirstOrDefault 不在列表中,因此可以合理地假设它不受支持。

关于c# - Linq.Dynamic FirstOrDefault() 嵌套在 OrderBy 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58030145/

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