我曾经问过一个类似的问题,旨在了解如何在另一组中获取与我持有的具有相同属性的模型。
现在的问题是:那么,实际上将我引导到另一组的“相似属性”的名称是什么。
原帖是: 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 所以它有超过 1 种颜色。例如; 钢笔有 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 很陌生,非常感谢任何帮助。