Normalerweise mache ich das:
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() }
Aber ich habe einen Code wie diesen:
var a = Products
.Where("ProductType == @0", "Tee Shirt")
.GroupBy("ProductColor", "it")
.Select("new ( Key, it.Count() as int )");
Welche Syntax könnte ich ändern, um identische Ergebnisse zu erzielen, d. h. wie kann ich eine Projektion der Kategorie aus der zweiten Linq-Anweisung durchführen?
Ich weiß, dass in beiden g y es gleich sind und den gesamten Tabellensatz darstellen, und dass Ich ziehe den gesamten Datensatz ein, nur um eine Zählung vorzunehmen. Das muss ich auch noch ändern. Bearbeiten: Marcelo Cantos wies darauf hin, dass Linq intelligent genug ist, um keine unnötigen Daten zu ziehen. Danke!