Normalnie, mogę to zrobić:Jak przesłać wynik zapytania dynamicznego Linq jako niestandardową klasę?
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() }
Ale mam kod jak poniżej:
var a = Products
.Where("ProductType == @0", "Tee Shirt")
.GroupBy("ProductColor", "it")
.Select("new (Key, it.Count() as int)");
Co składnia mogę zmienić, aby produkować takie same wyniki, to znaczy, jak to zrobić projekcję Kategorii z drugiego zdania Linq?
Wiem, że zarówno w g i to są takie same i reprezentują całą rekord tabeli, a
ja ciągnąc cały rekord w tylko zrobić liczyć. Też muszę to naprawić.
Edytuj: Marcelo Cantos zwrócił uwagę, że Linq jest wystarczająco inteligentny, aby nie wyciągać niepotrzebnych danych. Dzięki!
Czy zweryfikowałeś, że faktycznie wyciągasz cały rekord? Nie znam dynamicznego LINQ w ogóle, ale nie rozumiem, dlaczego nie byłoby tak inteligentne w tym, jak statyczne LINQ-SQL. –
Myślę, że Cantos ma rację co do tego, ile on ciągnie. –