私は2つの配列を持っています。最初のメンバーはすべてのメンバーを保持し、2番目のメンバーはすべてのメンバーを保持します。私は例外を使用してクレームされていないメンバーだけを取得しようとしていますが、結果の配列にはすべてのメンバー(最初の配列の正確なコピー)が含まれています。IEnumerable.Except()除外しない
var junior_handler_All = db2.junior_handler.Include(j => j.person).Include(j => j.status).ToArray();
var junior_handler_Claimed = db.junior_handler.Include(j => j.person).Include(j => j.status).ToArray();
var junior_handler_Unclaimed = junior_handler_All.Except(junior_handler_Claimed).ToArray();
同じ結果を持つwhereクエリを使用して未請求メンバーを取得しようとしました。
var junior_handler_Unclaimed = junior_handler_All.Where(i => !junior_handler_Claimed.Contains(i.Junior_Handler_ID.ToString()));
これらのいずれかが機能しない理由はありますか?
クラスは独自の 'Equals()'メソッドを実装していますか?参照の平等のテストのみを「例外」および「含む」と思われます。独自の 'IEqualityComparer'や' Equals'実装を提供する必要があります。 –