在ASP.Net MVC应用程序中,我们通常将模型类映射到数据库表。如果模型类中的ID属性引用数据库表中的主键,则需要将此属性标记为[Key]。如果在插入新记录时未设置ID属性,可能会在数据库中创建一个新记录,但是该记录的ID将为零或默认值为空。因此,在插入新记录之前,必须为ID属性指定一个值。以下是一个解决方法的代码示例:
public class MyModel
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
}
public class MyController : Controller
{
private readonly MyDbContext _context;
public MyController(MyDbContext context)
{
_context = context;
}
public IActionResult AddRecord()
{
var newRecord = new MyModel();
newRecord.Name = "New Record";
newRecord.Id = GetNextId(); // Define GetNextId() function to return the next available ID for this record
_context.MyModels.Add(newRecord);
_context.SaveChanges();
return RedirectToAction("Index");
}
}