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