2015-09-16 7 views
0

Как перевести эту функцию SQL в выражение lqqq запроса linq?Datediff sql query to linq lambda query

SELECT Type, DATEDIFF(day,Expiry_Date,GETDATE()) AS Days 
FROM Item 
GROUP BY Type, Expiry_Date; 

Должен ли я сначала создать функцию в моей базе?

ответ

1
from i in db.item 
group i by new{ 
    type = i.Type, 
eDate = i.Expiry_date 
} into grp 
select new 
{ 
type = grp.key.Type, 
date = grp.key.Expiry.Date.Subtract(DateTime.Now.Date).Days 
} 
1

Это должно работать: -

var result = db.Item.GroupBy(x => new { x.Type, x.ExpiryDate }) 
        .Select(x => new 
           { 
            Type = x.Key.Type, 
            Days = (DateTime.Now.Date - x.Key.ExpiryDate).Days 
           }; 
+0

Спасибо большое, это сработало. –

+0

@PhumlaSongxaka - Добро пожаловать :) http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –