EF 6 metode, menggunakan artikel 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();
}
Pembaruan: Untuk menghindari kesalahan "Nilai eksplisit harus ditentukan untuk kolom identitas dalam tabel 'NamaTabel' baik ketika IDENTITY_INSERT diatur ke AKTIF atau ketika pengguna replikasi memasukkan ke dalam kolom identitas NOT FOR REPLICATION", Anda harus mengubah nilai StoreGeneratedPattern properti kolom identitas dari Identitas menjadi Tidak Ada dalam perancang model.
Catatan, mengubah StoreGeneratedPattern ke None akan gagal memasukkan objek tanpa id yang ditentukan (cara normal) dengan kesalahan "Tidak dapat memasukkan nilai eksplisit untuk kolom identitas dalam tabel 'NamaTabel' ketika IDENTITY_INSERT disetel ke OFF".