我有一个自己无法解决的问题。我的客户请求重置按钮,它提供了删除所有记录和重置ID的功能。
删除记录没有问题,但我无法获得重置ID。
private void SettingsDLT_delete_button_Click(object sender, EventArgs e)
{
MainWeight main = new MainWeight();
main.RemoveAllWeight();
}
和控制器:
public void RemoveAllWeight()
{
try
{
using (DaghanKantarEntities context = new DaghanKantarEntities())
{
context.tbl_MainWeight.RemoveRange(
context.tbl_MainWeight.Where(c => c.fldId != null));
context.SaveChanges();
}
}
catch (Exception exp)
{
throw new Exception("Hata: Kayıt Silinemedi - " + exp.Message.ToString(), exp);
}
}
答案 0 :(得分:2)
如果您正在使用SQL Server Management Studio,则可以重新设置主键。您可以将以下内容作为原始查询而不是通过实体运行:
DBCC CHECKIDENT ('table_name', RESEED, 1)
您也可以TRUNCATE table_name而不是删除所有记录。
答案 1 :(得分:0)
谢谢大家的帮助。我已经解决了我的问题,例如将共享代码。问候。
private void SettingsDLT_delete_button_Click(object sender, EventArgs e)
{
MainWeight main = new MainWeight();
main.ResetId();
}
和控制器端
public void ResetId()
{
try
{
using (DaghanKantarEntities context = new DaghanKantarEntities())
{
context.Database.ExecuteSqlCommand("DELETE FROM dbo.tbl_MainWeight");
context.Database.ExecuteSqlCommand("DBCC CHECKIDENT ('tbl_MainWeight', RESEED, 0)");
context.SaveChanges();
}
}
catch (Exception exp)
{
throw new Exception("Hata: Kayıt Resetlenemedi - " + exp.Message.ToString(), exp);
}
}