我有一个ObservableCollection,其中包括另一个ObservableCollection。
ObservableCollection<MyModel> models = new ObservableCollection<MyModel>();
我的模型如下所示:
public class MyModel
{
public ObservableCollection<MyModel2> list2 { get; set; }
public string Property1 { get; set; }
}
public class MyModel2
{
public string Property2 { get; set; }
public string Property3 { get; set; }
}
现在,我想在“ Property2” ==“ test1”和“ Property3” ==“ test2”的模型中找到所有MyModel2项目
我知道如何仅在一个list2中进行搜索以找到正确的项目,但是我想在models-collection中的所有“ list2”中进行搜索。
var result = from mod
in list2
where mod.Property2 == "test1" && mod.Property3 == "test2"
select mod;
任何帮助将不胜感激。
最佳答案
听起来您想要这样的东西:
var query = from model in models
from model2 in model.list2
where model2.Property2 == "test1" && model2.Property == "test2"
select model2;
或采用非查询表达式形式:
var query = models.SelectMany(model => model.list2)
.Where(model2 => model2.Property2 == "test1"
&& model2.Property == "test2");