繁体   English   中英

C#实体框架工作如何删除行后设置自动ID值

[英]c# entity frame work how to set automatic ID value after delete a row

我正在使用实体框架。

删除记录时如何设置自动ID?

例如。:

我删除了ID = 5的记录

如何将第二个ID设置为5,而不是6?

    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int DataID { set; get; }

    public string FName { set; get; }

    public string LName { set; get; }

    public string FaName { set; get; }

我说说DataID

这是我删除记录的功能

  private void button4_Click(object sender, EventArgs e)
        {
              using (ScoutContext db = new ScoutContext())
                {
                   var toBeDeleted = (int)dataGridView1.SelectedRows[0].Cells[0].Value;
                    var userdata = db.ScoutDatas.First(c => c.DataID == toBeDeleted);
                    db.ScoutDatas.Remove(userdata);
                    db.SaveChanges();
                    dataGridView1.Refresh();
             }
        }

我需要这样,但在C#中

declare @max int
select @max=max([DataID])from [ScoutDatas]
if @max IS NUll   
  SET @max = 0
DBCC CHECKIDENT ('[ScoutDatas]', RESEED,@max)

也许它的工作

var toBeDeleted = (int)dataGridView1.SelectedRows[0].Cells[0].Value;
            var userdata = db.ScoutDatas.Where(c => c.DataID >= toBeDeleted).Take(2).ToList();
            db.ScoutDatas.Remove(userdata[0]);
            userdata[1].DataID = toBeDeleted;
            db.SaveChanges();
            dataGridView1.Refresh();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM