我想创建一个linq to sql查询,该查询将返回带有已过滤子列表的对象列表。
听起来很简单,但我不确定如何使它正常工作
这里的SQL查询返回我想要的:
select * from Texts t inner join Translations tt on t.TranslationId = tt.Id
inner join Pages p on tt.Id = p.TranslationId and tt.NeutralText = p.TitleNeutralTextId
where t.LanguageId = 1
现在,我必须用linq编写此代码。
到目前为止,我所做的是:
var query = this.Queryable() // Page entity
.AsNoTracking()
.Include(x => x.TitleTranslation.Texts);
return (from m in query
from l in m.TitleTranslation.Texts
where m.TitleTranslation.Texts.Any(l => l.LanguageId == 1)
select m);
但这是行不通的,因为我得到了所有语言的子列表,而不是ID为#1的语言。
繁星coding
拉丁的传说
相关分类