Если для вашей сущности установлен атрибут StoreGeneratedPattern
, установленный на "Нет" , то значение ключа сущности, которое вы укажете для него, будет передано в базу данных.
В случае, если для этого атрибута установлено значение «Идентичность» или «Вычислено» , невозможно контролировать, какое значение будет установлено для этого столбца в БД.
Таким образом, если в вашей базе данных есть столбец с автоинкрементом, а мастер ADO.NET Entity Data Model установил для вас StoreGeneratedPattern
, вы можете вручную изменить этот атрибут на "Нет" в части модели SSDL с помощью XML Editor, а затем включите IDENTITY_INSERT
.
Вы можете использовать метод ObjectContext.ExecuteStoreCommand
, если вы используете EF4 или использовать свойство ObjectContext.Connection.StoreConnection
для выполнения команды SQL SET IDENTITY_INSERT <Your_Table> ON
(как в EF1, так и в EF v4).