我正在使用Entity Framework 5,我需要在表格中获得下一个id
1
2
3
4
我想得到下一个id,当我的id为1时想要获得下一个id 2
public class Level
{
[Key]
public int LevelID { get; set; }
public string Name { get; set; }
public double Cost { get; set; }
public int Statue { get; set; }
public int CourseID { get; set; }
public int? SessionCount { get; set; }
public int? SessionAttend { get; set; }
public DateTime? DateAdded { get; set; }
public Guid UserAddID { get; set; }
public Guid userEditID { get; set; }
public DateTime DateUpdated { get; set; }
public bool DelFlag { get; set; }
public DateTime? DelDate { get; set; }
public Guid? UserDelID { get; set; }
}
感谢您的帮助。
答案 0 :(得分:0)
要获得为新行分配的下一个LevelId,您可以使用它:
var nextId = db.Levels.OrderBy(x => x.LevelId).Last().LevelId + 1;
我可能不会推荐这个。整个想法给我带来了糟糕的代码味道。
答案 1 :(得分:0)
public int getNextId(int id)
{
var nextEntities = repository.Query<Levels>().OrderBy(d=>d.LevelId)
.Where(l=>l.LevelId>id)
.Take(1).SingleOrDefault();
return nextEntities != null ? nextEntities.LevelId : ++id; //or return 0 on your choice
}