Linq使用方法

1 int pollid = poll.Where(f => f.PollID < CurrentId).OrderByDescending(o => o.PollID).FirstOrDefault().PollID;  //上一条  
2   
3 int pollid = poll.Where(f => f.PollID > CurrentId).OrderByDescending(o => o.PollID).LastOrDefault().PollID;  //下一条  

 查找数据库上一条下一条

首先根据数据库hotelid字段不同

//查找同一个id字段有多少条数据  比如我们当前这条数据是6

var jddhlist = db.jddhgl.Where(u => u.hotelid == hotelid).ToList();

if(jddhlist.Count > 1)
{
var cxpx = px;
var upone = jddhlist.Where(u => u.px < cxpx).OrderByDescending(o => o.px).FirstOrDefault();  //上一条  
var bpxcx = upone.px;//查找下一条是7
jddhgl a = jddhlist.FirstOrDefault(u => u.px == cxpx);//查询到对应id\
jddhgl b = jddhlist.FirstOrDefault(u => u.px == bpxcx);//查询到对应id
a.px = cxpx + 1;
b.px = cxpx;//赋值
db.Entry(a).State = System.Data.Entity.EntityState.Modified;
//db.SaveChanges();//保存一次
//然后找到-1的那条数据 px+1;
db.Entry(b).State = System.Data.Entity.EntityState.Modified;
var l = db.SaveChanges();
if (l > 0)
{
array["yz"] = true;
}
else { array["yz"] = false; }
}

==========================同理上一条数据========================

 var upone = jddhlist.Where(u => u.px > cxpx).OrderByDescending(o => o.px).LastOrDefault();//下一条  

 

 

 

 

 

   //排序设置
        public ActionResult yhpxcx(int cxid)
        {
            
            int pollid = db.yhxxb.Where(f => f.id < cxid).OrderByDescending(o => o.id).FirstOrDefault().px;  //px为你要查询上一条中的某一个字段  上一条  

          

            JObject array = new JObject();
            array["previd"] = pollid;

            return Content(array.ToString());
        }

获取上一条和下一条数据的方法

继续更新。。。。。。。。。。。

查询 当前数据段中最大的一个 字段id  不管是id字段  还说其他 int类型 序列号字段

  var kl = db.yhxxb.ToList();   //判断数据库列表总数量
            var l = kl.Count();
            var maxs = 0;
            if (l > 0)
            {
                maxs = db.yhxxb.Max(u => u.px);
            }

 

posted @ 2016-11-23 15:17  h5monkey  阅读(209)  评论(0编辑  收藏  举报