从列表中选择Lambda或linq

hip*_*pie 10 c# linq lambda mongodb

我试图根据该集合的对象上的id从linq中的集合中进行选择.

List<List<myobject>> master = new List<List<myobject>>();
List<myobject> m1 = new List<myobject>();
List<myobject> m2 = new List<myobject>();


master.Add(m1);
master.Add(m2);
m1.Add(new myobject{name="n1",id=1});
m1.Add(new myobject{name="n2",id=2});
m1.Add(new myobject{name="n3",id=3});

m2.Add(new myobject{name="m1",id=1});
m2.Add(new myobject{name="m2",id=2});
m2.Add(new myobject{name="m3",id=3});
Run Code Online (Sandbox Code Playgroud)

我想要的是,使用lambda/linq,是从主服务器获取id = 2的所有对象.

使用它的senario是一个具有这种结构的mongodb.

谢谢,

Vla*_*rov 10

var result = master.SelectMany(n => n).Where(n => n.id == 2);
Run Code Online (Sandbox Code Playgroud)

SelecMany将分层列表展平为一个大的顺序列表,然后Where将过滤您的条件.