我正在使用Entity Framework 6(Code First),我有这样的例子:
public class User
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
[EmailAddress]
[MaxLength(60)]
[Index(IsUnique = true)]
public string Email { get; set; }
}
正如您所看到的,我有一个名为“电子邮件”的独特字段。让我们创建一个用户:
{
"Name" : "Mario",
"Email" : "test@test.com"
}
Id是一个自动增量字段。现在我创建一个具有相同电子邮件的新用户(这显示异常,因为“电子邮件”字段被定义为唯一):
{
"Name" : "Juan",
"Email" : "test@test.com"
}
问题是,如果我想现在插入一个新用户,请说:
{
"Name" : "Raúl",
"Email" : "othermail@test.com"
}
这是正确插入数据库但是Id是3,而不是2.为什么异常会增加Id字段?我怎么能阻止这个?