john snow
2018-05-31 09:15:29 UTC
to temporarily allow explicit values to be inserted into the identity
column of a table to facilitate the generation of test data from
application code?
using sql, i know it's possible to issue INSERTs with OVERRIDING SYSTEM
VALUE clause to fill identity columns with user-specified values. but i'm
using an ORM (object-relation mapper) Framework from Microsoft (Entity
Framework Core 2.1) and a C# test data generator library, and i'm
generating "data aggregates" that have foreign key relationships so it
would be a great convenience if I could save test data with known primary
and foreign key values to the database as this would make it easier for me
to make assertions about my data.
ideally, i'm looking for something like this:
myDbContext.Database.ExecuteSqlCommand("..."); //ask postgresql to allow
explicit id values for inserts from here on
var testData = CreateTestData();
myDbContext.MyEntity.AddRange(testData);
myDbContext.SaveChanges();
thanks in advance for any tips or help!
column of a table to facilitate the generation of test data from
application code?
using sql, i know it's possible to issue INSERTs with OVERRIDING SYSTEM
VALUE clause to fill identity columns with user-specified values. but i'm
using an ORM (object-relation mapper) Framework from Microsoft (Entity
Framework Core 2.1) and a C# test data generator library, and i'm
generating "data aggregates" that have foreign key relationships so it
would be a great convenience if I could save test data with known primary
and foreign key values to the database as this would make it easier for me
to make assertions about my data.
ideally, i'm looking for something like this:
myDbContext.Database.ExecuteSqlCommand("..."); //ask postgresql to allow
explicit id values for inserts from here on
var testData = CreateTestData();
myDbContext.MyEntity.AddRange(testData);
myDbContext.SaveChanges();
thanks in advance for any tips or help!