我有带有"BayOption"子对象的"属性"对象。我需要站点搜索来搜索子 BayOptions 以及属性,如果搜索条件与子项或父项匹配,则返回属性。一个属性可以有多个BayOptions(通常确实如此)。我不确定是否.选择 或 。选择许多是我需要的技巧。到目前为止,我有以下内容:
var stringResults = db.Properties
.Where(x => x.Address.Contains(id)... (more conditions here...but then BayOptions)
|| x.BayOptions.Select(g => g.Description).Contains(id)
);
但是会.选择这里只选择一个托架选项?(我不这么认为,但是.选择许多让我想知道...无论如何,我不会按原样获得子对象的结果。
一种选择是使用 LINQ .Any()
:
var stringResults = db.Properties.Where(x =>
x.Address.Contains(id) ||
/* Other conditions || */
x.BayOptions.Any(g => g.Description.Contains(id)));
在这里,如果任何BayOptions
值具有包含 ID 的描述,x.BayOptions.Any(g => g.Description.Contains(id))
将返回 true。