Dans une application ASP.NET Rob Conery style MVC, vous avez généralement un dépôt:Comment disposer correctement un Linq to SQL DataContext dans un référentiel?
public class CustomerRepository
{
DataContext dc = new DataContext();
public IQueryable<Customer> AllCustomers()
{
return db.Customers;
}
public Customer GetCustomer(int customerID)
{
return db.Customers.FirstOrDefault(c => c.CustomerID = customerID);
}
}
et un contrôleur:
public class CustomerController: Controller
{
CustomerRepository _repository;
public ActionResult Index()
{
var data = _repository.AllCustomers();
return view("Index", data);
}
public ActionResult Details(int id)
{
var data = _repository.GetCustomer(id);
if (data !=null)
return view("Details", data);
else
return view("NotFound");
}
}
Le contrôleur est instancié throught une usine de contrôleur dans l'ASP. Moteur de base NET MVC, lorsqu'une requête lui est acheminée via le moteur de routage. Il exécute ensuite la méthode appropriée sur le contrôleur.
En supposant que je veux implémenter IDisposable
dans le DataContext, comment peut-on correctement Dispose
le DataContext, sans avoir à ré-instancier le DataContext pour chaque méthode dans le référentiel?
http://stackoverflow.com/questions/821574 –
@Mehrdad: Cette question est tout le débat « éliminer vs pas disposer ». Ce n'est pas la question posée ici. –
nous avons besoin d'une nouvelle étiquette [Rob-Conery-Style] ;-) – mxmissile