Normalmente, fare questo:Come trasmettere un risultato Linq Dynamic Query come una classe personalizzata?
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() }
Ma ho codice come questo:
var a = Products
.Where("ProductType == @0", "Tee Shirt")
.GroupBy("ProductColor", "it")
.Select("new (Key, it.Count() as int)");
Cosa sintassi ho potuto alterare a produrre risultati identici, vale a dire, come faccio a fare una proiezione di categoria dalla seconda affermazione di Linq?
so sia che g e si sono uguali e rappresentano l'intero record della tabella, e che
sto tirando l'intero record in solo per fare un conteggio. Devo aggiustare anche quello.
Modifica: Marcelo Cantos ha sottolineato che Linq è abbastanza intelligente da non tirare dati non necessari. Grazie!
Hai verificato che stai effettivamente trascinando l'intero record? Non conosco affatto LINQ dinamico, ma non vedo perché non possa essere altrettanto intelligente su questo come LINQ-to-SQL statico. –
Penso che Cantos abbia ragione su quanto tira. –