J'ai une classe d'entité qui est générée automatiquement à partir de mon modèle de base de données. Cette classe hérite du ObjectContext dont inturn hérite de IDisposable.Disposition du contexte d'objet dans l'infrastructure de l'entité 4
J'ai créé un référentiel qui a diverses méthodes qui utilisent une seule instance de l'objet entité pour interagir avec la base de données.
classe générée Auto
public partial class DevEntities : ObjectContext
{
public const string ConnectionString = "name=DevEntities";
public const string ContainerName = "DevEntities";
classe Repository
DevEntities db = new DevEntities();
public Customer GetCustomerByID(int id)
{
var customers = db.Customers.FirstOrDefault(c => c.CustomerId == id);
return customers;
}
public Customer GetCustomerByPasswordUsername(string email, string password)
{
var customers = db.Customers.FirstOrDefault(c => c.Email == email && c.Password == password);
return customers;
}
De cela, vous pouvez voir que je fais plusieurs références à l'instance db. Ma question est la suivante: suis-je préférable d'instancier un nouveau DevEntity dans chaque méthode, afin de pouvoir implémenter l'instruction using, et ainsi assurer une mise au rebut correcte, ou est-ce que ma mise en œuvre actuelle est correcte?
Si je faisais cela, je devrais remplacer la méthode d'élimination d'IDisposable je pense? Alors, à quoi cela pourrait-il ressembler? Est-ce qu'il disposerait l'objet et chaque méthode ferait référence à cette méthode, et donc y passerait une instance? – hoakey
Non, vous n'avez pas à le redéfinir, vous implémentez l'interface sur votre référentiel; Vous pouvez maintenant utiliser le référentiel dans l'instruction using pour que la classe soit automatiquement éliminée à la fin de l'utilisation. – Femaref
Désolé pour mon épaisseur, je ne comprends toujours pas comment cela fonctionnerait. Pourriez-vous élaborer un peu plus s'il vous plaît? Merci beaucoup. – hoakey