Я пытаюсь использовать ASP.NET-котел для обработки моего проекта, и у меня есть одна серьезная проблема.ASP.NET Boilerplate - исключение «Объект ObjectContext исключено»
У меня есть 2 модели: Фото и комментарий:
public class Comment : Entity<int>
{
[DataType(DataType.MultilineText)]
public string Text { get; set; }
public string Author { get; set; }
public int ItemID { get; set; }
public virtual Item Item { get; set; }
}
public class Item : Entity<int>
{
public string Title { get; set; }
public string Description { get; set; }
public ItemSourceType SourceType { get; set; }
public byte[] PhotoBytes { get; set; }
public string Url { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
}
Кроме того, я создал по умолчанию хранилища OOB на основе RepositoryBase<Item>
и то же самое для Comment
.
Проблема возникает, когда я пытаюсь получить позицию так:
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Item item = _repoItems.Get(id.Value);
if (item == null)
{
return HttpNotFound();
}
return View(item);
}
Когда я отладка этого кода я могу видеть, что item
имеет это исключение в Comments
собственности.
Я что-то упустил из ASP.NET Boilerplate или что?
Спасибо за помощь!
// Edit: Полное сообщение об исключении:
{"The ObjectContext instance has been disposed and can no longer be used for operations that require a connection."}
Проблема в том, что моя реализация Репозитория - простая пустая реализация. Все методы (например, my Get (id)) - это OutOfBox, предоставляемые платформой ASP.NET Boilerplate. – Tomasz
Ну, я бы посмотрел их документацию на использование инъекции зависимостей здесь: http://aspnetboilerplate.com/Pages/Documents/Dependency-Injection. Если они утверждают, что поддерживают DI, должен быть способ также ввести контекст, а затем ваш контейнер DI можно настроить таким образом, чтобы он всегда был одним и тем же экземпляром для области запроса. –
эта структура использует его по умолчанию. Поэтому я не могу этого принудить. Для меня кажется, что в этой структуре есть некоторая ошибка внутри, или я использую ее неправильно :( – Tomasz