EF 6 metode ved at bruge msdn-artiklen:
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();
}
Opdatering: For at undgå fejlen "Eksplicit værdi skal angives for identitetskolonnen i tabel 'Tabelnavn', enten når IDENTITY_INSERT er sat til ON, eller når en replikeringsbruger indsætter i en IKKE TIL REPLIKATION identitetskolonne", bør du ændre værdien af StoreGeneratedPattern egenskab af identitet-kolonnen fra Identitet til Ingen i model designer.
Bemærk, ændring af StoreGeneratedPattern til None vil mislykkes ved indsættelse af objekt uden specificeret id (normal måde) med fejlen "Kan ikke indsætte eksplicit værdi for identitetskolonnen i tabel 'Tabelnavn', når IDENTITY_INSERT er sat til FRA".