Я использую Entity Framework 6, поэтому все может измениться.База данных не создается в OnModelCreating, но она работает в DbInitializer следующим образом ...
public class MyDbInitializer : DropCreateDatabaseIfModelChanges<MyDbContext> {
protected override void Seed(MyDbContext context) {
string sql = @"CREATE PROCEDURE...";
context.Database.ExecuteSqlCommand(sql);
base.Seed(context);
}
}