0

私は 2 つのエンティティを持ってAおりB、それぞれにフィールドがあり、エンティティに存在しないNumberエンティティからすべての行を取得する必要があります。ANumberB

何か案は?参加が必要ですか?

4

3 に答える 3

3

それでうまくいくでしょうか?

  var result = entityA.Where(a => !entityB.Any(b => a.Number == b.Number))
于 2012-06-11T11:49:42.167 に答える
0

非常に粗雑ですが、このような結合なしで実行できます

var listB = b.Select(o => o.Number).Distinct();

var result = a.Where(o => !listB.Contains(o.Number));
于 2012-06-11T11:50:28.947 に答える
0

あなたはあまり情報を提供していないので、伝えるのは難しいです。しかし、多分あなたはこのようなことをすることができます:

public class TestEntity
{
    public int Number { get; set; }
    public TestEntity(int num)
    {
        Number = num;
    }
}

public void WriteResult()
{
    List<TestEntity> lstA = new List<TestEntity>();
    List<TestEntity> lstB = new List<TestEntity>();
    for (int i = 0; i < 10; i++)
    {
         lstA.Add(new TestEntity(i));
         lstB.Add(new TestEntity(i+4));
    }

    List<TestEntity> result = lstA.FindAll(teA => !lstB.Any(teB => teA.Number == teB.Number)); //This will give you all entities in lstA that does not have any equals in lstB
    foreach (var item in result)
    {
         Console.WriteLine(item.Number);
    }
}
于 2012-06-11T11:51:43.327 に答える