C#从列表中排除相关值(LINQ)

时间:2009-01-11 01:29:00

标签: linq listbox

在linQ to SQL中,“ join ”是否存在完全相反的操作?我想只显示不符合查询内部 join 约束的结果。我想在一个查询中做到这一点。以下是它的使用示例(http://img165.imageshack.us/img165/4940/liststj3.jpg)。

3 个答案:

答案 0 :(得分:1)

Bilal Haidar对如何进行左外连接有一个explanation。使用此策略并添加where条件以检查右侧对象为空的位置。

答案 1 :(得分:1)

Falvarez的角色:

Roles.Where(r => r.Users.Any(u => u.Name == "falvarez"));

falvarez没有的角色

Roles.Where(r => !r.Users.Any(u => u.Name == "falvarez"));

将每个角色投射到一个对象中,该对象知道falvarez是否属于该角色

Roles.Select(r => new
  {
    FalvarezInRole = r.Users.Any(u => u.Name == "falvarez"),
    Role = r
  });

如果角色对象没有users属性,只需用r .Users

替换按角色过滤用户的查询。

答案 2 :(得分:0)

在这里查看Zip:

http://www.codeplex.com/nextension

编辑:最好不要做“哪里!Collection.Contains(s.ID)”......