パーツ番号のみを含むテーブル1があります。プライマリキー以外の値でLinqとエンティティフレームワークが異なる
私はテーブル番号2を持っていますが、それに関連する他の多くのフィールドもあります。
は、私はまた、表2パート番号から個別の部品番号を取得する必要があります。1.
がテーブルの主キーではないテーブル内の部品番号を持っていないテーブル2からのすべての部分を取得する必要があります2.表2には300万件を超えるレコードがあるため、複数のステートメントはスマートではない可能性があります。
context.Parts.Where(x => !partmasterids.Contains(x.PartNumber)).ToList();
これは、明確なリターンを得ること以外はすべての基準を満たす必要があります。
context.Parts.GroupBy(x => x.PartNumber).Select(x => x.First()).Where(x =>
!partmasterids.Contains(x.PartNumber)).ToList();
私は、LINQ文の上にしようと、どこ文の後が、それは動作しませんにGROUPBYの周りに移動しました。
First()でエラーが発生するか、FirstOrDefaultが無限に実行されます。 Distinctは機能しません。正しいLINQ文を書く方法がわかりません。
表1と表2のエンティティクラスを用意してください。 – kat1330
DistinctBy(x => x.PartNumber).ToList()また、別の方法でもcontext.Parts.Where(x =>!parmasterids.Any(y => y == x.PartNumber) – Patriicya