DynamicLinq 构建 select 与子查询
DynamicLinq build select with subquery
我用 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()
但不确定如何添加额外的子查询列。
解决方案是:
await this.DbContext.Countries.Select("new(Id,ISOCode,Translates.Where(LangISOCode=\"SLV\").Select(Title).FirstOrDefault() as translates)").ToDynamicArrayAsync();
我通过结合源代码测试中的代码找到了解决方案 (select, where, firstordefault)。
我用 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()
但不确定如何添加额外的子查询列。
解决方案是:
await this.DbContext.Countries.Select("new(Id,ISOCode,Translates.Where(LangISOCode=\"SLV\").Select(Title).FirstOrDefault() as translates)").ToDynamicArrayAsync();
我通过结合源代码测试中的代码找到了解决方案 (select, where, firstordefault)。