Entity Framework 4 - durée de vie/domaine d'application de contexte d'une application winform
Désolé pour encore une autre question à propos de EF4 contexte de la durée de vie, mais je me demandais à ce sujet pendant un certain temps et je n'arrive pas à trouver la réponse. Je ne suis pas très familier avec beaucoup de motifs ou être trop compliqué tout ça (à mon point de vue) donc je veux garder les choses simples.
Je travail avec un ASP.NET application où le contexte est géré par chaque requête http qui est une très bonne approche, à mon avis.
Cependant je suis en train de travailler avec une application winforms et j'ai parfois des transactions ou des rapports qui ne sera pas effectuer très bien, si il suffit de créer le contexte pour chaque requête. Non pas que ce problème de performances est très problématique chose, je veux juste savoir si il y a une stratégie simple que par requête HTTP dans ASP.NET pour winforms?
OriginalL'auteur Joao Milasch | 2011-04-14
Vous devez vous connecter pour publier un commentaire.
De ne pas créer un contexte pour chaque requête. Dans le même temps, de ne pas créer un contexte qui est utilisé pour l'ensemble de la durée de vie d'un Formulaire (ou de votre application).
De créer un contexte pour une seule Unité de Travail (qui peut englober beaucoup de requêtes).
De cette façon, vous avez tous vos changements encapsulé dans le cadre et vous laisser Entity Framework envelopper les appels de base de données dans une jolie petite opération sans avoir à vous soucier de vous-même.
Je préfère résumé du Référentiel et de l'Unité de modèles de Travail de l'Entité Contexte afin que je puisse les utiliser de façon indépendante (ce qui rend le tout très clair). MSDN en fait a un bon article sur les détails:
MSDN - à l'Aide du Référentiel et de l'Unité de modèles de Travail avec Entity Framework 4
J'ai eu l'idée. Mon problème est que j'ai été la création de classes statiques avec des méthodes statiques de la poignée de méthodes telles que l'Insertion/mise à Jour/Obtenir et le résultat est d'avoir à passer contexte pour chaque fonction au lieu de créer une instance d'un Gérant de classe et de son passage à niveau de la classe. Merci cela m'a vraiment ouvert les yeux!
je suis content de indirectement contribué, pour une fois!
je ne suis pas bon avec les terminologies en termes de programmation, voulez-vous dire de sa bonne utilisation de l'aide(contxt = new contxtDBEntities()){quelque chose à faire avec}
OriginalL'auteur Justin Niessner