Создать пользовательский инициализатор контекста:
public class MyDbContextInitializer : MigrateDatabaseToLatestVersion<MyDbContext, Migrations.Configuration>
{
public override void InitializeDatabase(MyDbContext context)
{
bool exists = context.Database.Exists();
base.InitializeDatabase(context);
if (!exists)
{
MyDbSeed.Seed(context);
}
}
}
Обратите внимание, что Migrations.Configuration - это класс, генерирующий командную строку миграции в консоли диспетчера пакетов. Вам может потребоваться изменить внутренний на публичный модификатор класса Migrations.Configuration.
И зарегистрировать его из своего OmModelCreating:
public partial class MyDbContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer<MyDbContext>(new MyDbContextInitializer());
//other code for creating model
}
}
Эта функция полезна, когда выравнивание Вашего выделения памяти важно для Вас.
Выравнивание означает, что численное значение возвращенного указателя должно быть равномерно делимым определенным числом, т.е. ((unsigned int)ptr) % alignment
должен оценить к 0.
Пример причины желания определенного выравнивания состоит в том, чтобы использовать данные с системой команд SSE на x86, где данные должны быть выровненные к приблизительно 16.
Вы проверили документацию MSDN? Можно найти соответствующую запись здесь.