插入带有标识列的表

时间:2010-08-11 12:42:01

标签: sql entity-framework identity-column

我正在尝试使用wpf中的实体框架向具有标识列和三个“普通”列的表插入一行。 但是我收到此错误消息: 当IDENTITY_INSERT设置为OFF时,无法在表'MyTable'中为标识列插入显式值 这是我的代码片段,尝试添加到具有姓名,姓氏,年龄和用户ID(身份)列的用户表中:

        var newuser = new User();
        newuser.SurName = surNameTextBox.Text;
        newuser.Name = nameTextBox.Text;
        newuser.Age = Int32.Parse(ageTextBox.Text);
        context.AddToUsers(newuser);
        context.SaveChanges();

任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

我不熟悉实体框架,但奇怪的是,这是用于在标识列上启用插入的MS SQL命令:

SET IDENTITY_INSERT tablename ON

我同意Wonko对Sane的看法,问题几乎肯定在AddToUsers方法中。

答案 1 :(得分:1)

标识列确实会自行更新 - 这是他们的目的。

如果这是您用来更新用户的唯一代码,那么我会在DataContext中查看(或发布)AddToUsers方法。