Normalmente, hago esto:Cómo convertir un resultado de consulta dinámica de Linq como una clase personalizada?
var a = from p in db.Products
where p.ProductType == "Tee Shirt"
group p by p.ProductColor into g
select new Category {
PropertyType = g.Key,
Count = g.Count() }
Pero tengo código como este:
var a = Products
.Where("ProductType == @0", "Tee Shirt")
.GroupBy("ProductColor", "it")
.Select("new (Key, it.Count() as int)");
Qué sintaxis podría alterar para producir resultados idénticos, es decir, ¿cómo puedo hacer una proyección de Categoría de la segunda declaración Linq?
sé en tanto que g y que son los mismos y representan todo el registro de la tabla, y que
estoy tirando el registro completo en tan sólo para hacer un recuento. Necesito arreglar eso también.
Editar: Marcelo Cantos señaló que Linq es lo suficientemente inteligente como para no obtener datos innecesarios. ¡Gracias!
¿Has verificado que en realidad estás tirando todo el registro? No conozco el LINQ dinámico en absoluto, pero no veo por qué no podría ser tan inteligente acerca de esto como LINQ-to-SQL estático. –
Creo que Cantos tiene razón sobre cuánto tira. –