Я пытаюсь включить отложенную загрузку в контексте EF4.
Код, который пытается загрузить данные:
using (IUnitOfWork uw = new EFUnitOfWork())
{
foreach (Document doc in uw.Documents.All)
{
Console.WriteLine("Name: {0} Description: {1} Category: {2}", doc.Name, doc.Description, doc.DocumentCategory.Name);
}
}
Я экспериментирую с шаблонами Repository и Unit Of Work, но, насколько я понимаю, приведенная ниже команда должна работать.
ctx.ContextOptions.LazyLoadingEnabled = true;
У меня проблема при доступе к doc.DocumentCategory.Name, я получаю исключение NullReferenceException.
Почему эти данные не загружаются лениво?
Если у меня загружены DocumentCategories, свойство DocumentCategory разрешается.
Класс «Мой документ» определяется следующим образом:
public class Document
{
public Document()
{
}
public Document(int id)
{
Id = id;
}
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual int DocumentCategoryId { get; set; }
public virtual bool Deleted { get; set; }
public DocumentCategory DocumentCategory { get; set; }
public override string ToString()
{
return Name;
}
}