¿Recuperar entidades únicas de Entity Framework utilizando una consulta LINQ o GetObjectKey?
Parece que GetObjectKey tiene la ventaja de buscar objetos existentes e instanciados, y ENTONCES el almacén de datos. Sin embargo, también parece que pierdes algo de la escritura fuerte y necesitas lanzar tu objeto resultante:
GetObjectKey
int customerID = 1;
EntityKey key = new EntityKey("MyEntities.Customers", "CustomerID", customerID);
Customer customer = context.GetObjectByKey(key) as Customer;
vs. LINQ
int customerID = 1;
Customer customer = (from c in context.Customers
where c.CustomerID = customerID
select c).FirstOrDefault();
Personalmente, prefiero el último método, debido a la tipificación. Además, su DAL será bastante uniforme con todos los métodos de obtención de consultas, aunque eso es solo una preferencia personal.
¿Qué usan ustedes niños y niñas?