2013-07-13 4 views
3

Как загрузить связанные объекты из уже загруженной коллекции:связанные Загружайте объекты из коллекции в Entity Framework

коллекции:

public class Ad 
{ 
    // Primary properties 
    [Key] 
    public int Id { get; set; } 
    private ICollection<Feature> _features; 
    public virtual ICollection<Feature> Features 
    { 
     get { return _features ?? (_features = new HashSet<Feature>()); } 
     set { _features = value; } 
    } 
} 

Функция:

public class Feature 
{ 
    // Primary properties 
    public int Id { get; set; } 
    public string Name { get; set; } 

    // Navigation properties 
    public virtual ICollection<Ad> Ads { get; set; } 
    public Keyword Keyword { get; set; } 
} 

по ключевому слову :

public class Keyword 
{ 
    // Primary properties 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public bool IsActive { get; set; } 
} 

Мне нужно загрузить объект Ключевое слово для всех функций в объявлении.

Благодаря

ответ

0

В вашем хранилище класса попробовать:

public Ad GetAd(int id) 
{ 
    return _database.Set<Ad>().Include(ad => ad.Features.Select(feature => feature.Keyword)).FirstOrDefault(ad => ad.Id == id); 
} 
+0

Привет спасибо, проблема здесь в том, что я использую репозиторий с ГЭТ, объявлений и т.д. методы. – Patrick

+0

@Patrick, основная идея - «.Include (ad => ad.Features.Select (feature => feature.Keyword))'. Или вы можете показать пример того, как реализован ваш репозиторий? – Dmytro