2013-02-26 3 views
3

Учитывая то вроде:Return Only Child Entity Linq Entity Framework

public class Parent 
{ 
    public int Id { get; set; } 
    public List<Child> Children { get; set; } 
} 

// There is no reference to the parent in the object model 
public class Child 
{ 
    public int Id { get; set; } 
    public string MyProperty { get; set; } 
} 

возможно загрузить только ребенок соответствия определенного условия, для данного Parent ID, без загрузки также родительского объекта?

У меня есть seen solutions, которые используют проекцию для загрузки родителя и ноль или более детей, соответствующих условию.

+0

Как работает ваша модель данных, если ребенок понятия не имеет, что это за родитель? –

+0

Почему не 'db.Childs.Where (c => c.MyProperty ==" something ")'? –

+0

@CuongLe: Это не фильтрует родительский идентификатор. –

ответ

5

Если я правильно вас понимаю, это должно сделать это; он ставит условия, которые вы хотите как для родителя, так и для ребенка, но выбирает только ребенка.

from parent in db.Parents 
from child in parent.Children 
where parent.Id = 4711 && 
     child.MyProperty == "olle" 
select child; 
Смежные вопросы