top*_*ool 3 sql linq entity-framework-core asp.net-core
我想在 EF Core 中创建一个查询,如下所示:
SELECT SUM(DATEDIFF(DAY, FromDate, ToDate)) AS Diff
FROM Table1
Run Code Online (Sandbox Code Playgroud)
上述查询适用于 T-SQL - 如何在 Linq 中创建查询?
使用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));
Run Code Online (Sandbox Code Playgroud)
My SQL to LINQ Recipe将来可能会帮助您解决一些翻译问题。
PS:正如@B12Toaster 所指出的,特定EF.Functions方法DataDiffDay是特定于提供程序的,并且特定于 MS SQL Server。