发生异常时,EF中的自动增量主键正在增加

时间:2016-06-06 05:28:27

标签: c# sql-server entity-framework

我正在使用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字段?我怎么能阻止这个?

0 个答案:

没有答案