相关疑难解决方法(0)

如何交叉两个不同的IEnumerable集合

我认为这个问题之前已经被问到,但我还没有能够推断出一个明确的答案.我试图找到最好的方式(或一种方式)来交叉两个完全不同的可相关集合.

A类:

  • int z1
  • int z2
  • int z3
  • 字符串z4

B级:

  • int j5
  • int j6
  • T j7
  • T j8
  • 字符串j9

..我想相交List<A>List<B>z2 == j6.

可以这样做吗?

c# linq generics collections intersection

6
推荐指数
1
解决办法
2万
查看次数

C#LINQ to Entities查询两个不同属性的交集

我有3个型号命名:

铅笔有Pencil.Id(int)和Pencil.Colors(IEnumerable)属性

Pen具有Pen.Id(int)和Pen.Colors(IEnumerable)属性

具有Id和名称的颜色.

铅笔与颜色的关系(多对多)笔与颜色有关系(多对多)

我想建立一个查询,它会显示我持有的笔的彩色铅笔.

我正在使用以下LINQ到实体查询:

int id = id_of_the_pen_that_i_am_holding;
Pen p = db.Pens.Find(id);
var list = from m in db.Pencils where m.Colors.Intersect(p.Colors) != null select m;
Run Code Online (Sandbox Code Playgroud)

颜色模型是IEnumerable,因此它有超过1种颜色.例如; 笔有15种不同的颜色,铅笔有25种不同的颜色.如果我所持有的笔的一种颜色在该铅笔的调色板中也是可用的,我想带上相应的铅笔.

但我得到一个例外,使用常规变量,如int或string而不是对象.

我能做什么?在此先感谢您的帮助.

编辑: 我为下一个可能的问题创建了一个新问题:C#LINQ to Entities-对象和对象集合的交集上的属性

c# linq-to-entities entity-framework

5
推荐指数
1
解决办法
8561
查看次数