Lecture de cet article MSDN intitulé "Utilisation de ObjectSet (Entity Framework)" Il montre deux exemples sur la façon d'ajouter un produit .. un pour 3.5 et un autre pour 4.0.3 méthodes pour ajouter un "produit" à travers Entity Framework. Quelle est la différence?
http://msdn.microsoft.com/en-us/library/ee473442.aspx
Par mon manque de connaissances que je suis quelque chose peut-être complètement absent ici, mais je ne ai jamais ajouté un produit similaire à ceci:
//In .NET Framework 3.5 SP1, use the following code: (ObjectQuery)
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
// Add the new object to the context.
context.AddObject("Products", newProduct);
}
//New in .NET Framework 4, use the following code: (ObjectSet)
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
// Add the new object to the context.
context.Products.AddObject(newProduct);
}
Je ne l'aurais pas fait de toute façon et juste utilisé:
// (My familiar way)
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
// Add the new object to the context.
context.AddToProducts(newProduct);
}
Quelle est la différence entre ces trois façons?
Est-ce que "My way" est une autre façon d'utiliser une ObjectQuery?
Merci, Kohan
Les ObjectSets sont mis en cache dans le générateur de code par défaut. Donc je suppose qu'il y a un léger gain de perf à utiliser context.Products.Add car il sera capable de réutiliser le même ensemble sans aucune recherche. –
Excellent. Merci beaucoup de m'avoir expliqué cela. Il s'est avéré être beaucoup plus simple que je l'avais imaginé. Je devrais vraiment creuser dans un contrôle tous ces fichiers générés plus souvent pour une meilleure compréhension de ce qui se passe dans les coulisses. Je vais jeter un coup d'oeil maintenant et voir quelles autres choses se passent! – 4imble
Il vaut vraiment la peine de lire le fichier codegen. Vous utilisez ce code tout le temps, même si vous ne l'écrivez pas. –