2010-08-11 2 views
0

Я пытаюсь вставить строку в таблицу с столбцом идентификации и тремя «нормальными» столбцами, используя структуру сущностей в wpf. однако я получил это сообщение об ошибке: Невозможно вставить явное значение для столбца идентификации в таблице «MyTable», когда IDENTITY_INSERT установлен в OFF. вот мой фрагмент кода, который пытается добавить к таблице пользователя, которая имеет имя, фамилию, возраст и идентификатор пользователя (личность):Вставка в таблицу с идентификационным столбцом

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

Может ли кто-нибудь помочь мне в решении этой проблемы?

+0

Вы пытаетесь установить значение userID? (Не в примере кода, но, возможно, в другом месте?) – Tobiasopdenbrouw

+0

Я так не думаю, но я снова проверю его. на деле мне было интересно, как будет возрастать идентификатор пользователя. Я сам увеличил его или sql сделает это для меня? – cemregoksu

+0

Я не мог понять, что вы имеете в виду, и теперь не уверен, поняли ли вы, что я хотел сделать =) Я просто хочу назначить данные столбцы в фрагменте кода, я хочу, чтобы sql сам установил идентификатор пользователя. – cemregoksu

ответ

1

Таблицы идентичности действительно обновляют себя - это их цель.

Если это единственный код, который вы используете для обновления пользователя, я бы посмотрел (или разместил) метод AddToUsers в DataContext.

+0

Я не мог найти нигде, где я назначил идентификатор пользователя, но во время отладки я понял, что идентификатор пользователя представляется 0, для объекта пользователя, который передается методу AddObject. но я не знаю, почему и как ... – cemregoksu

+0

Ну, если userID является своего рода int и никогда не назначается, это будет 0. –

+0

это проблема для sql? и должен ли я что-то сделать для этого? как я могу это исправить? – cemregoksu

2

Я не знаком с лицом-структурой, но для любознательного это команда MS SQL для обеспечения вставки на столбце идентификаторов:

SET IDENTITY_INSERT tablename ON 

Я согласен с Wonko в Сану, проблема почти наверняка в методе AddToUsers.

+0

+1 для информации и +1 для согласования со мной. :) –

Смежные вопросы