Я создаю приложение ASP.NET 4.0 MVC 2 с общим репозиторием на основе это сообщение в блоге.
Я не уверен, что делать с временем существования ObjectContext - вот типичный метод из моего класса репозитория:
public T GetSingle<T>(Func<T, bool> predicate) where T : class
{
using (MyDbEntities dbEntities = new MyDbEntities())
{
return dbEntities.CreateObjectSet<T>().Single(predicate);
}
}
MyDbEntities - это ObjectContext, созданный Entity Framework 4.
- Можно ли вызывать
.CreateObjectSet()и создавать / удалятьMyDbEntitiesдля каждого HTTP-запроса? Если нет, как я могу сохранить этот объект? - Если другой метод возвращает
IEnumerable<MyObject>с использованием аналогичного кода, вызовет ли это неопределенное поведение, если я попытаюсь выполнить операции CRUD за пределами этого метода?