我的方法中有这个:
var qry = db.Forms.Take(4)
.Where(m => m.SateliteID == Id)
.OrderByDescending(m => m.Tanggal)
.ToArray();
Run Code Online (Sandbox Code Playgroud)
我想要的是从所有可用记录中获取最后4条记录,但我得到的是前4条记录.我做错了什么?我以为这个命令与此相同:
SELECT TOP 4 <fields> FROM Forms WHERE sateliteID = Id
ORDER BY tanggal DESC
Run Code Online (Sandbox Code Playgroud)
但似乎他们是不同的.我该怎么做才能得到我想要的东西(最后4条记录而不是前4条记录)?在此先感谢您的帮助.
dev*_*tal 10
移动你的Take:
var qry = db.Forms.Where(m => m.SateliteID == Id)
.OrderByDescending(m => m.Tanggal)
.Take(4)
.ToArray();
Run Code Online (Sandbox Code Playgroud)
var qry = db.Forms.Where(m => m.SateliteID == Id).OrderByDescending(m => m.Tanggal).Take(4).ToArray();
Run Code Online (Sandbox Code Playgroud)
您应该订购而不是从有序列表中获取一些结果.应该以这种顺序调用方法.
| 归档时间: |
|
| 查看次数: |
2631 次 |
| 最近记录: |