EF 6 метод, като използвате статията msdn:
using (var dataContext = new DataModelContainer())
using (var transaction = dataContext.Database.BeginTransaction())
{
var user = new User()
{
ID = id,
Name = "John"
};
dataContext.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[User] ON");
dataContext.User.Add(user);
dataContext.SaveChanges();
dataContext.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[User] OFF");
transaction.Commit();
}
Актуализация: За да избегнете грешка „Трябва да бъде посочена изрична стойност за колона за идентичност в таблица „Име на таблица“ или когато IDENTITY_INSERT е настроен на ON или когато потребител на репликация вмъква в колона за идентичност НЕ ЗА РЕПЛИКАЦИЯ“, трябва да промените стойността на StoreGeneratedPattern свойство на колоната за идентичност от Идентичност до Няма в дизайнер на модели.
Забележка, промяната на StoreGeneratedPattern на None няма да успее да вмъкне обект без посочен идентификатор (нормален начин) с грешка „Не може да се вмъкне изрична стойност за колона за идентичност в таблица „Име на таблица“, когато IDENTITY_INSERT е зададен на OFF“.