Junte-se e inclua no Entity Framework

Eu tenho a seguinte consulta de linq para entidades. O problema é que não parece carregar a relação “Tags”, mesmo que eu tenha incluído uma coisa para ela. Ele funciona bem se eu não juntar tags, mas eu preciso fazer isso.

var items = from i in db.Items.Include("Tags") from t in i.Tags where t.Text == text orderby i.CreatedDate descending select i; 

Existe alguma outra maneira de fazer essa consulta? Talvez dividir ou algo assim?

Bem, o Incluir contradiz o onde. Incluir diz: “Carregar todas as tags”. O local onde diz “Carregue algumas tags”. Quando há uma contradição entre a consulta e a inclusão, a consulta sempre vencerá.

Para retornar todas as tags de qualquer item com pelo menos uma tag == text:

  var items = from i in db.Items.Include("Tags") where i.Tags.Any(t => t.Text == text) orderby i.CreatedDate descending select i; 

(Não testado, como eu não tenho seu DB / modelo)

Aqui está um livro realmente bom e gratuito sobre o LINQ .