John Dunagan
John Dunagan

Reputation: 1465

Entity Framework 6 - Select Parents Where Children Equal

I just need Parent objects. In SQL, this is simple:

select distinct * from parent 
join child on child.ParentID = Parent.ID 
where child.playssoccer = true;

In Entity Framework 6, this seems like splitting the atom to me.

I need new p => parent where parents.children.playssoccer = true .

How do I get soccer parents out of a similar EF6 DBContext?

Upvotes: 4

Views: 3892

Answers (3)

tympaniplayer
tympaniplayer

Reputation: 171

If you have navigation properties you can do something like

Parents.Where(p => p.child.playsoccer)

Upvotes: 3

T McKeown
T McKeown

Reputation: 12847

Parents
.Where(p=> p.child.playsoccer)
.GroupBy(p=> p.Parent.ID)

Upvotes: 2

Paul Abbott
Paul Abbott

Reputation: 7211

from p in context.Parents
where p.Children.Any(c => c.PlaySoccer == true)
select p

This is assuming you want parents who have at least one child that plays soccer.

Upvotes: 8

Related Questions