プロジェクトでは、エンティティフレームワークコードファーストアプローチを使用しています。パッケージマネージャーコンソールのenable-migrationsステートメントを使用して、モデルを作成し、移行を有効にしました。私のコンテキストクラスには、次のようなマッピング構成と関係が含まれています
modelBuilder.Configurations.Add(new PostMap());
modelBuilder.Configurations.Add(new UserMap());
移行ファイル201302261054023_InitialCreate.csのUpメソッドには、DbSet<Type>プロパティで指定されたコンテキストとしてすべてのテーブル定義が含まれています。
データベースの初期化中に特定の移行まで移行したいので、カスタムデータベースInitializerのInitializeDatabaseメソッドを変更しました。
public void InitializeDatabase(T context)
{
bool databaseExists = context.Database.Exists();
if (!databaseExists)
context.Database.CreateIfNotExists();
var configuration = new Configuration();
var migrator = new DbMigrator(configuration);
migrator.Update("InitialCreate");
}
201302261054023_InitialCreateクラスのUpメソッドを変更して、から別のインデックスを追加することは可能です。
CreateTable(
"dbo.City",
c => new
{
Id = c.Int(nullable: false, identity: true),
Name = c.String(maxLength: 450),
})
.PrimaryKey(t => t.Id);
に
CreateTable(
"dbo.City",
c => new
{
Id = c.Int(nullable: false, identity: true),
Name = c.String(maxLength: 450),
})
.PrimaryKey(t => t.Id)
.Index(t=>t.Name,true);
別の移行を追加せずに?