通过C#从表中检索5个最后的记录

时间:2011-03-02 15:27:35

标签: c# linq

我想通过C#代码检索数据库中我的一个表的最后一条记录。我不想在Sql server中使用查询。 在我的代码中,我想要检索tt中的5个最后记录。我该怎么办?现在它检索所有记录

            var temp = db.Positions.Where(P => P.DeviceID == device.ID);
            List<Position> tempPositions = FilterPosition(temp.ToList<Position>());
            var tt = FilterStops(tempPositions, new TimeSpan(0, 30, 0), 100);
            List<JsonDevicePositionModel> returnPositions = (

                                          from p in tt

                                             select new 
                                                 JsonDevicePositionModel

                                             {
                                                 DeviceID = p.Position.DeviceID,
                                                 Latitude = p.Position.Latitude,
                                                 Longitude = p.Position.Longitude,
                                                 SerialNumber = p.Position.Device.SerialNumber,

                                                 Speed = p.Position.Speed,


                                             }).ToList(); 

            //    }
            return Json(returnPositions, JsonRequestBehavior.AllowGet);

        }

4 个答案:

答案 0 :(得分:2)

如果性能不用担心,请使用扩展方法Take of Enumerable class:

var tt = FilterStops(tempPositions, new TimeSpan(0, 30, 0), 100).Take(5);

答案 1 :(得分:2)

你可以试试......

from p in tt.GetRange(tt.Count - 6, 5)

答案 2 :(得分:0)

和其他可能性: 来自p in.St.Skype(tt.Count - 5)。取(5)

答案 3 :(得分:0)

var full = FilterStops(tempPositions, new TimeSpan(0, 30, 0), 100);
var tt= full.Skip(full.Count - 5);