c# - How do I write this SQL query using Linq/Lambda? -


i've until written simple queries using lambda (c => c.userid == uid) , etc., have more advanced sql query. wish run against model i've created using entity framework.

problem cant figure out how use group on multiple columns , distinct count on column objectguid. sql query works fine when run in sql server management studio.

select year(logdate) year, month(logdate) month, count(distinct objectguid) ammount table exporttemplate = 'template' , logdate >= '2008-01-01 00:00:00:000' group year(logdate), month(logdate) order year(logdate), month(logdate) 

is better combine linq or done lambda expressions? appreciated

you need create new anonymous type groupping;

from x in model group new { x.date.year, x.date.month } g order g.key.year, g.key.month select new {     g.key.year,     g.key.month,     count = g.select(s => s.objectguid).distinct().count() } 

something should trick (not tested though). adding where conditions should easy.


Comments