我用System.Linq.Dynamic.Core动态构建select。我想添加另一列(子查询)。这可能吗?
我需要获得与此查询相同的结果:
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()
但不确定如何添加其他子查询列。
答案 0 :(得分:0)
解决方案是:
await this.DbContext.Countries.Select("new(Id,ISOCode,Translates.Where(LangISOCode=\"SLV\").Select(Title).FirstOrDefault() as translates)").ToDynamicArrayAsync();
我通过梳理源测试中的代码(select,where,firstordefault)找到了解决方案。