Maris Maris - 3 months ago 34
C# Question

How to run Seed() method of Configuration class of migrations

I have 2 questions:

1) How can I run Seed() method from the package-manager console without updating-database model?

2) Is there a way how to call Seed() method in the code?

Thx for any advice.


After research I finally found the workaround for this issue:

1) Make Configuration public:

public sealed class Configuration : DbMigrationsConfiguration<YourContextClassHere>

2) Add the code below anywhere. It will run the latest migration and update your database:

Configuration configuration = new Configuration();
configuration.ContextType = typeof(YourContextClassHere);
var migrator = new DbMigrator(configuration);

//This will get the SQL script which will update the DB and write it to debug
var scriptor = new MigratorScriptingDecorator(migrator);
string script = scriptor.ScriptUpdate(sourceMigration: null, targetMigration: null).ToString();

//This will run the migration update script and will run Seed() method