2015-08-03 2 views
1

У меня есть несколько классов: (? EF)Восстановление класса, содержащего список возвращает список нулевой

public class MyGoalsModel 
{ 
    [Key] 
    public string Name { get; set; } 

    /*Some local bools*/ 

    public List<MyGoalString> myGoals { get; set; } 
} 

public class MyGoalString 
{ 
    public int MyGoalStringID { get; set; } 

    public string GoalString { get; set; } 
    public bool Selected { get; set; } 
} 

Я могу заселить их правильно, а код генерирует необходимые скрытые внешние ключи, чтобы связать их (все в порядке в SQL) и восстановить информацию для MyGoalsModel, но List всегда имеет значение null.

Я использую следующую команду, чтобы получить запись я хочу:

MyGoalsModel goals = db.MyGoals.Find(Name); 

, но когда я исследовать код goals.MyGoals всегда нуль.

Я что-то упустил, есть ли лучший способ восстановить информацию со списками?

+0

Я всегда составлял список с классом, поэтому он готов хранить данные, даже если список пуст, список не является нулевым. – BugFinder

+0

Что такое 'db' в этой строке' MyGoalsModel goal = db.MyGoals.Find (Name); '? Это экземпляр DbContext? – Fabjan

+0

Да, извините, это экземпляр DbContext – Shocklanced

ответ

2

Добавить ключевое слово virtual, чтобы EF мог создать прокси для вашего списка и ленить загружать данные по мере необходимости.

Редактировать: Или как указано в принятом ответе в this question.

+0

Ааа, я не могу поверить, что пропустил что-то настолько простое! – Shocklanced

Смежные вопросы