您好,我有以下LINQ查询:
public async Task<DeityViewModel> GetDeityBySlugAsync(string slug)
{
Deity requestedDeity = await _yeGodsContext
.Deities
.AsNoTracking()
.Include(d => d.Slugs)
.Include(d => d.Aliases)
.Include(d => d.Category)
.Where(d => d.Aliases.Any(a => !a.IsDeleted))
.FirstOrDefaultAsync(d => d.Slugs.Any(s => s.Name == slug));
return requestedDeity?.ToDeityViewModel();
}
它从数据库中获取一个Deity
实体。该实体具有ICollection<DeityAlias> Aliases { get; set; }
属性。
在获得神灵时,我希望包括别名,但仅包括其IsDeleted
标志设置为false
的别名。
为什么上述方法有效?我很困惑。