私が持っているものと同じプロパティを持つ他のセットでモデルを取得する方法を理解することを目的として、同様の質問をしていました。
問題は次のとおりです。つまり、実際に別のセットに誘導した「類似のプロパティ」の名前は何でしたか。
元の投稿は次のとおりでした: C# LINQ to Entities query for the Intersection of two different properties
次の名前の 3 つのモデルがあります。
- Pencil.Id(int) および Pencil.Colors(IEnumerable) プロパティを持つ鉛筆
- Pen.Id(int) および Pen.Colors(IEnumerable) プロパティを持つペン
- ID と名前を持つ色。
色モデルは IEnumerable であるため、複数の色があります。例えば; ペンには 15 色、鉛筆には 25 色があります。私が持っているペンの色が、その鉛筆のカラーパレットにもある場合は、対応する鉛筆を持っていきたいです。
Raphaelの優れたソリューションはhttps://stackoverflow.com/a/11722191/1062284です
int id = id_of_the_pen_that_i_am_holding;
Pen p = db.Pens.Find(id);
var penColorIds = p.Color.Select(m => m.Id).ToList();
var list = db.Pencils.Where(pencil => pencil.Color.Any(color => penColorIds.Contains(color.Id));
それで、それは大丈夫で、魔法のように機能しますが、一般的な色の名前を学んでみませんか? 同じ色を保持している他のプロパティを取得しますが、その色は何でしたか?
誰かがこの LINQ クエリを生成できるかどうかを評価します。私はLINQの初心者であり、どんな助けにも感謝します。