I\'m creating a rewrite of an existing application in EF Code First, but I need to import some of the data from the existing application\'s database. Here\'s the definition
I recently ran into this same issue. In my case, I was using SQL Server CE. Here's a link to my solution:
Inserting all rows of a DataTable into a SQL Server table, including Id values (scroll down to Edit 2)
This is basically Diego's solution #1 -- raw ADO.NET. It's not a great solution because you will need to customize the queries to account for any differences in databases, but hopefully it will help solve your problem for the moment.
You can't. Executing a set identity_insert
command changes the behavior of SQL Server, but not the behavior of Entity Framework.
You have three choices for importing records:
ExecuteSqlCommand
.DbContext
, in which you define the keys as non-generated.