好的,
我必须构建一个谓词以从 EF5 中的已知实体中选择未知数量的列,并按未知数量的列进行过滤,其中一个始终是来自子集合的名称。
所以这就是我需要结束的
var q = db.Set<Entity>()
.Where(e => e.Code.Contains("q") || e.Translations.FirstOrDefault(t => t.Culture.ID == "whatever").Description.Contains("q"))
.Select(e => new
{
e.ID,
e.Code,
Name = e.Translations.FirstOrDefault(t => t.Culture.ID == "whatever").Description
});
但我不确定如何为表达式构建谓词
e.Translations.FirstOrDefault(t => t.Culture.ID == "whatever").Description.Contains("q")
要选择的列和要过滤的字段以字符串数组的形式提供,在这种情况下,过滤器始终包含。
我熟悉构建谓词,这不是问题,更重要的是我以前从未研究过子集合,而且我现在完全处于“WTF”点:-)
朝着正确方向的任何和所有推动都将是最受关注的。