当已经实现自动增量时,当identity_insert设置为OFF时,无法为identity列插入显式值

时间:2016-03-15 17:04:31

标签: c# asp.net-mvc database

我已经实现了数据库的自动增量,identity_insert设置为OFF。

但是,当我尝试将数据插入其他列时,我得到“当IDENTITY_INSERT设置为OFF时,无法在表'书签'中为标识列插入显式值”。错误。 下面的代码是表定义:

    public void Insert(Bookmark obj)
    {
        data.Add(obj);
        db.SaveChanges();
    }

);

下面的代码显示了数据的插入,并且db.SaveChanges()发生了错误。

 public ActionResult Create([Bind(Include = "carparkId,date,username")] Bookmark bookmark)
    {
        if (ModelState.IsValid)
        {

            bookmarkGateway.Insert(bookmark);
            return RedirectToAction("Index");

        }

这是我试图传递的数据:

{{1}}

任何想法如何在不打开identity_insert的情况下解决此错误?非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您发布的代码似乎是EF映射中的错误。

class BookmarkMap: EntityTypeConfiguration<Bookmark>
{
    public BookmarkMap()
    {
        Property(x => x.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)
    }
}