IDENTITY INSERT и LINQ to SQL

У меня есть база данных SQL Server. В этой базе данных есть таблица с названием Item. У предмета есть свойство, называемое «ID». ID - это первичный ключ в моей таблице. Этот первичный ключ представляет собой int со значением приращения 1. Когда я пытаюсь вставить запись, я получаю сообщение об ошибке:

Невозможно вставить явное значение для столбца идентификаторов в таблицу «Элемент», когда для IDENTITY_INSERT установлено значение OFF. ".

Я пытаюсь вставить записи, используя следующий код:

  public int AddItem(Item i)
  {
    try
    {
      int id = 0;
      using (DatabaseContext context = new DatabaseContext())
      {
        i.CreatedOn = DateTime.UtcNow;
        context.Items.InsertOnSubmit(i);
        context.SubmitChanges();
        id = i.ID;
      }
      return id;
    }
    catch (Exception e)
    {
      LogException(e);
    }
  }

Когда я смотрю на i.ID перед его отправкой, я замечаю, что i.ID имеет значение 0. Это означает, что я пытаюсь вставьте в качестве идентификатора 0. Однако я не уверен, что это должно быть. Может ли кто-нибудь мне помочь?

Спасибо!

13
задан abatishchev 26 May 2011 в 13:22
поделиться