在 ASP.NET MVC 中,可以通过自定义 IKeyGenerator
接口的实现类以及在 DbContext
中进行注册的方式实现自动增长 id。以下是具体步骤:
IKeyGenerator
接口的类,重写 Next
方法以实现生成自增 id 的逻辑。public class CustomKeyGenerator : IKeyGenerator
{
private long _currentValue = 0;
public object Next(DbContext context)
{
return ++_currentValue;
}
}
DbContext
中,以便在生成实体时使用。protected override void OnModelCreating(ModelBuilder builder)
{
builder.UseKeyGenerator();
}
Create
方法的控制器中,调用 SaveChanges
方法以生成自增 id,并保存实体。[HttpPost]
public IActionResult Create([Bind("Name,Email")] User user)
{
if (ModelState.IsValid)
{
_context.Add(user);
_context.SaveChanges();
return RedirectToAction(nameof(Index));
}
return View(user);
}
通过以上步骤,即可实现 ASP.NET MVC 中的自动增长 id 功能。