繁体   English   中英

Datediff SQL查询到Linq Lambda查询

[英]Datediff sql query to linq lambda query

如何将此SQL函数转换为linq查询lambda表达式?

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

我首先需要在数据库中创建一个函数吗?

这应该工作:

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
                                 };
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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM