0

我正在尝试使用 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();

谁能帮我解决这个问题?

4

2 回答 2

2

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

SET IDENTITY_INSERT tablename ON

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

于 2010-08-11T19:48:10.117 回答
1

身份列确实会自我更新——这就是它们的目的。

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

于 2010-08-11T13:20:09.573 回答