i用system.linq.dynamic.core动态构建选择。我想添加另一列(子查询)。这可能吗?
我需要与此查询相同的结果:
var test = this.DbContext.Countries.Select(t => new
{
t.Id,
t.ISOCode,
lookup = t.Translates.Where(t2 => t2.LangISOCode=="ENG").Select(t2 => t2.Title).FirstOrDefault()
}).ToArray();
我走了这么远:
this.DbContext.Countries.Select("new(Id,ISOCode)").ToDynamicArrayAsync()
,但不确定如何添加其他子查询列。
解决方案是:
await this.DbContext.Countries.Select("new(Id,ISOCode,Translates.Where(LangISOCode="SLV").Select(Title).FirstOrDefault() as translates)").ToDynamicArrayAsync();
我通过梳理源测试中的代码(选择,firstordEfault)来找到解决方案。