[英]Is there a linq to entities equivalent for the LAG() function in SQL?
我使用SQL中的LAG函數創建了按月銷售報表的查詢。 我發現在linq中不可用。 有沒有辦法做到這一點?
from x in db.Events
let prev = Sql.Ext
.Lag(x.app, Sql.Nulls.None)
.Over()
.OrderBy(x.time)
.ToValue()
where (prev != x.app && prev != null)
select (prev, x.app)
所有43個受支持的功能中的前8
(!)
|-------------|----------------------|
| SQL | Linq2db |
|-------------|----------------------|
| AVG | Sql.Ext.Average() |
| CORR | Sql.Ext.Corr() |
| COUNT | Sql.Ext.Count() |
| COVAR_POP | Sql.Ext.CovarPop() |
| COVAR_SAMP | Sql.Ext.CovarSamp() |
| CUME_DIST | Sql.Ext.CumeDist() |
| DENSE_RANK | Sql.Ext.DenseRank() |
| FIRST_VALUE | Sql.Ext.FirstValue() |
|-------------|----------------------|
注意窗口函數的使用沒有限制。
LINQ To DB
將創建SQL
並運行查詢,如果不支持功能或功能的某些部分在特定Database
受到限制-將在數據庫端引發錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.