1

私の問題はよくあることかもしれません。私はここでそれを見ました2つのコレクションの比較。しかし、2つの複雑なコレクションを比較したいと思います。

public class Project
{
    public Int32 ProjectID { get; set; }
    public String ProjectName { get; set; }
    public String ProjectCode { get; set; }
}
public class Unit
{
    public Int32 UnitID { get; set; }
    public Int32 ProjectID { get; set; }
    public String UnitName { get; set; }
    public String UnitCode { get; set; }
}

ここで、プロジェクトとユニットには、という共通のフィールドがProjectIDあります。プロジェクトとユニットのコレクションがあります。プロジェクトコレクション内の各プロジェクトに対応して、ユニットコレクション内にユニットがあります。また、ユニットコレクション内の一部のユニットは、プロジェクトコレクション内のどのプロジェクトにも属していません。それらのユニットを除外したいと思います。Linqを使用してそれを行うにはどうすればよいですか。

4

2 に答える 2

2

LINQを使用できます。

var result = units.Where(u => projects.All(p => p.ProjectID != u.ProjectID));
于 2012-10-13T06:57:50.240 に答える
1
from u in unitCollection
from p in projectCollection
Where p.ProjectID == u.ProjectID
select u 
于 2012-10-13T06:58:46.500 に答える