Структура сущности IDENTITY_INSERT - PullRequest
3 голосов
/ 12 января 2011

Таблица «Категория» в базе данных определена так:

CategoryID - PK ,identity specification ON  (only this column has identity)   
Description  
Title  

Я хочу вставить новые данные:

Category cat = new Category
{
    Description = "xxx",
    Title = "yyy",
};
if (cat.EntityState == EntityState.Detached)
{
   Articlerctx.AddToCategories(cat);
}
return Articlerctx.SaveChanges();

Я получаю ошибку:

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

Но я не вставляю CategoryID!Я хочу получить автоматическое значение!

Ответы [ 2 ]

5 голосов
/ 12 января 2011

Ваше отображение неверно. StoreGeneratedPattern on CategoryID должен быть установлен на Identity, но у вас установлено None. Исправьте это.

4 голосов
/ 13 января 2011

В моем случае ваш сценарий работает отлично - с использованием EF4.

Проверьте следующее:

  • изменили ли вы свою модель базы данных с тех пор, как вы впервые создали модель Entity, и если да, действительно ли вы обновили модель Entity ??

  • ваш cat.EntityState действительно detached на тот момент? В моем случае при использовании EF4 с ObjectContext это Added. В этом случае вы не добавите новый объект Cat в коллекцию категорий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...