Обычно я делаю это:Как передать результат динамического запроса Linq как пользовательский класс?
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() }
Но у меня есть такой код:
var a = Products
.Where("ProductType == @0", "Tee Shirt")
.GroupBy("ProductColor", "it")
.Select("new (Key, it.Count() as int)");
Что синтаксис я мог бы изменить для получения одинаковых результатов, то есть, как это сделать проекцию категории из второго заявления Linq?
Я знаю, что в обоих, что г и его одинаковы и представляют всю запись таблицы, и что
я вытягивать всю запись только, чтобы сделать счет. Мне тоже нужно это исправить.
Редактировать: Марсело Кантос отметил, что Линк достаточно умен, чтобы не вытащить ненужные данные. Благодаря!
Вы подтвердили, что на самом деле вы тянете всю запись? Я вообще не знаю динамического LINQ, но я не понимаю, почему это не может быть столь же умным, как статический LINQ-to-SQL. –
Я думаю, что Cantos правильно говорит о том, сколько он тянет. –