LastOrDefault在ef里是用不了的,你要orderbydesc一次再用 first方法获取。不过通常不会这样写,你savechanges后直接用集合里最后一条数据的id就行了,它会有数据的。

解决方案 »

  1.   

    LastOrDefault不能翻译成sql语句,可以OrderByDescending后,取第一条。或者ToList,变成Linq to Object后,再使用LastOrDefault
      

  2.   

    添加不用savechanges
    addobject可以直接返回对象
      

  3.   

    你的意思是 就一个 add  就添到数据库里了?那 savechanges 干啥用
      

  4.   

    你的意思是 就一个 add  就添到数据库里了?那 savechanges 干啥用
    你试试  试完了再说
      

  5.   

    你的意思是 就一个 add  就添到数据库里了?那 savechanges 干啥用
    你试试  试完了再说
    试了,不行,数据库里没值
      

  6.   

    你的意思是 就一个 add  就添到数据库里了?那 savechanges 干啥用
    你试试  试完了再说
    试了,不行,数据库里没值
    不是 添加方法不是返回对象吗,那个对象不是能取到id吗?
    都操作完最后再savechanges
      

  7.   

    你的意思是 就一个 add  就添到数据库里了?那 savechanges 干啥用
    你试试  试完了再说
    试了,不行,数据库里没值
    不是 添加方法不是返回对象吗,那个对象不是能取到id吗?
    都操作完最后再savechanges不行,这样的id出来是0
      

  8.   


    db.SKU.AddRange(lstSku);
    db.SaveChanges();
    var lastId=lstSku.Last().Id;
    var lastDbId=db.SKU.OrderByDescending(p=>p.id).First().Id;