sql实体框架核心:如何在linq中使用datediff?

w9apscun  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(447)

我想在ef core中创建如下查询:

SELECT SUM(DATEDIFF(DAY, FromDate, ToDate)) AS Diff 
FROM Table1

上面的查询是针对t-sql的-如何在linq中创建查询?

9jyewag0

9jyewag01#

使用 DbFunctions ,通过访问 EF.Functions ,您可以拨打 DateDiffDay :

var ans = from t in Table1
          group t by 1 into tg
          select tg.Sum(r => EF.Functions.DateDiffDay(r.FromDate, r.ToDate));

我的sql到linq的方法可能会在将来帮助您解决一些翻译问题。
注:如@b12toaster所述,特别是 EF.Functions 方法是特定于提供程序的 DataDiffDay 特定于ms sql server。

相关问题