Al leer este artículo de MSDN titulado "Trabajar con ObjectSet (Entity Framework)" se muestran dos ejemplos sobre cómo agregar un producto ... uno para 3.5 y otro para 4.0.3 métodos para agregar un "Producto" a través de Entity Framework. ¿Cual es la diferencia?
http://msdn.microsoft.com/en-us/library/ee473442.aspx
A través de mi falta de conocimiento soy algo, posiblemente, falta por completo aquí, pero nunca añadir un producto como éste:
//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);
}
yo no lo hubiera hecho de cualquier manera y apenas utilizado:
// (My familiar way)
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
// Add the new object to the context.
context.AddToProducts(newProduct);
}
¿Cuál es la diferencia entre estas tres formas?
¿Es "a mi manera" solo otra forma de usar un ObjectQuery?
Gracias, Kohan
Los ObjectSets se almacenan en caché en el generador de código predeterminado. Así que supongo que hay una pequeña ganancia de perf. Para usar context.Products.Add ya que podrá reutilizar el mismo conjunto sin búsquedas. –
Excelente. Muchas gracias por explicarme esto. Resultó ser mucho más simple de lo que había imaginado. Realmente debería buscar en todos los archivos generados más a menudo para comprender mejor lo que ocurre detrás de escena. Voy a echar un vistazo ahora y ver qué otras cosas están pasando! – 4imble
* Vale * la pena leer el archivo codegen. Utiliza este código todo el tiempo, aunque no lo escriba. –