С автоматической базой данных воссоздание неизвестно, будут ли загружены упомянутые сущности или нет.
Контекст EF CTP 5 и ASP.NET MVC 2. В global.asax установлен инициализатор базы данных, который принудительно воссоздает базу данных при каждом запуске приложения.
Успешное извлечение объекта из контекста в действии контроллера может по-прежнему вызывать ошибки нулевых ссылок при обходе ссылок, даже если ссылки помечены как обязательные (в базе данных нет нуля).Отключение отложенной загрузки не имеет никакого значения.
Это поведение невозможно воспроизвести надежно, но оно наблюдалось на двух разных рабочих станциях (XP, 7) с использованием Cassini.
Ниже приведены модели.При попытке получить доступ к свойству NewsProvider
объекта NewsFeed
возникает исключение нулевой ссылки.Не имеет значения, снимая виртуальный квалификатор.
public class NewsProvider
{
public int Id { get; set; }
[Required(ErrorMessage = "Please enter a name")]
[StringLength(50, ErrorMessage = "The name is too long")]
public string Name { get; set; }
}
public class NewsFeed
{
public int Id { get; set; }
[Required(ErrorMessage = "Please enter a name")]
[StringLength(50, ErrorMessage = "The name is too long")]
public string Name { get; set; }
[Required(ErrorMessage = "Please enter a URL")]
[StringLength(300, ErrorMessage = "The URL is too long")]
public string Url { get; set; }
[Required(ErrorMessage = "Please enter a news provider")]
public virtual NewsProvider NewsProvider { get; set; }
}