Join and Include in Entity Framework

Well, the Include contradicts the where. Include says, “Load all tags.” The where says, “Load some tags.” When there is a contradiction between the query and Include, the query will always win.

To return all tags from any item with at least one 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;

(Untested, as I don’t have your DB/model)

Here’s a really good, free book on LINQ.

Leave a Comment