Je suis actuellement en utilisant Entity Framework pour créer un site Web dans asp.net, et je me demandais quel est le bon moyen d'instancier le Entity Container
?Entité framework bonnes pratiques
Actuellement, je fais ce (où MyDB est mon conteneur-cadre de l'entité):
public partial class User : System.Web.UI.MasterPage
{
private myDb ctx;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) ctx = new myDb();
}
}
Et j'utiliser le contexte dans de nombreuses fonctions.
Mais, sur de nombreux sites, j'ai vu cette façon de le gérer:
using (var ctx = new myDb())
{
}
Mais si l'on utilise le second, je dois le mettre dans de nombreuses fonctions de ma classe. Et ainsi ré-instancier le Entity Container
.
Quoi de mieux? Pourriez-vous m'expliquer pourquoi c'est mieux, et si les deux sont bons, pourquoi dois-je en utiliser un plus que l'autre dans des cas différents?
Dans votre cas, vous pouvez appeler 'ctx.Dispose(); 'dans l'événement' Page_Unload' et obtient le même effet que 'using (var ctx = new myDb()) {}'. –
Merci pour la réponse. Quels sont les bons cas pour la méthode d'utilisation ainsi? –
'using' fonctionne sur les classes implémentant' IDisposable'. Lorsque le bloc using est terminé, la méthode '.Dispose()' est appelée. Et vous disposez d'un objet pour libérer les ressources et libérer de la mémoire. Pour l'objet de base de données de votre exemple, cela ferme également la connexion à la base de données. –