【问题标题】:Linq match item in lookup column with multiple entries查找列中具有多个条目的 Linq 匹配项
【发布时间】:2012-08-09 14:12:45
【问题描述】:

我有列表A,它有一个查找列表B,它允许多个条目。一个A 到多个相关的Bs - 标准做法。我想找到A,其中B 包含对“b”特定实例的引用。

我试过了:

var As = from a in ARecs where a.Bs.Contains(b) select a;

但我得到了通常的“涉及多个表”错误。请问我该怎么办?

提前致谢

我得到的错误是“查询使用了不受支持的元素,例如对多个列表的引用,或者使用 EntityRef/EntitySet 对完整实体的投影。”

A 和 B 列表代码由 SPMetal 生成,如果有任何区别的话

【问题讨论】:

  • 您能否更具体地说明您遇到的错误?
  • 您的 Linq 查询是有效的(如果周围环境正确,它应该可以工作)。我们需要有关错误的更多信息,以及有关您的代码的更多详细信息,以解决您的问题。
  • 我得到的错误是查询使用了不受支持的元素,例如对多个列表的引用,或者使用 EntityRef/EntitySet 投影一个完整的实体。

标签: linq contains lookup


【解决方案1】:

某些 LINQ 无法转换为 CAML(我是否忘记提及这是在 SPMetal 生成的 LINQ to Sharepoint 上 - 哦!)并且需要作为 2 个查询执行 - 第一个 ToList 然后是该列表中的第二个。这对我有用。

Var Bs = A.ToList().Where(record => record.Bs.Contains(b))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多