代码之家  ›  专栏  ›  技术社区  ›  Curtis White

linq to sql不包含或不在?

  •  7
  • Curtis White  · 技术社区  · 14 年前

    我正在构建一个投票小部件。我有两张表格,称之为民意测验和民意测验。我需要执行一个LINQ查询来获取pollsCompleted中给定用户不存在的所有投票。

    我有以下几套:

    民意测验 其中active==true

    对于已完成的轮询 其中userid==thisuserid 其中pollid=polls.id

    现在,我需要完成所有不存在于pollscompled中的投票。我需要一个使用单个或多个查询的示例。我试着把它分成两个问题。

    基本上,我有两个T型和T1型的iqueryables。我想把T1.parentID中不存在t.id的所有t都取下来。

    2 回复  |  直到 14 年前
        1
  •  17
  •   Slaggg    14 年前
    T.Where(x => ! T1.Select(y => y.ParentID).Contains(x.ID))
    

    在Linq中,你经常自下而上工作。这里我们首先得到T1中所有parentID的集合——T1.select(…)部分。然后我们创建一个WHERE子句来选择ID不包含在该集合中的所有TS。

    请注意,结果是一个查询。要实现它,请在上面的语句中使用tolist()或类似的方法。

        2
  •  6
  •   user372724    14 年前

    使用 Except . 在这种情况下是可行的。

    供你参考 Enumerable.Except Method