Join and Include in Entity Framework
61,980
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.
Author by
Olaj
Updated on February 12, 2020Comments
-
Olaj about 4 years
I have the following query of linq to entities. The problem is that it doesn't seem to load the "Tags" relation even though i have included a thing for it. It works fine if i do not join on tags but i need to do that.
var items = from i in db.Items.Include("Tags") from t in i.Tags where t.Text == text orderby i.CreatedDate descending select i;
Is there any other way to ask this query? Maybe split it up or something?