EntityFrameworkのMigrationを使ってみた

[ソリューション名]/[アプリケーション名]/Models/Entity にModelファイルを追加

using TestProject.Models.Validations;
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace TestProject.Models.Entity
{
    /// <summary>
    /// テストモデル
    /// </summary>
    [Table("test_table")]
    [Description("テストテーブル")]
    public class TestTable
    {
        /// <summary>
        /// テストテーブルPK
        /// </summary>
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Column("pk_test")]
        [Description("テストテーブルPK")]
        [CustomRequired]
        public long PKTest { get; set; }

        /// <summary>
        /// 親テーブルKey
        /// </summary>
        [Column("fk_parent")]
        [Description("親テーブルKey")]
        [CustomRequired]
        public long FKParent { get; set; }

        /// <summary>
        /// カラム1
        /// </summary>
        [Column("fk_parent")]
        [Description("カラム")]
        [CustomRequired]
        public string FKParent { get; set; }

        /// <summary>
        /// カラム2
        /// </summary>
        [Column("col2")]
        [Description("カラム2")]
        [CustomRequired]
        public long Col2 { get; set; }

        /// <summary>
        /// 親テーブル
        /// </summary>
        [ForeignKey("FKParent")]
        public Parent Parent { get; set; }
    }
}

VisualStudio > ツール > NuGetパッケージマネージャから「add-migration」を実行

add-migration

マイグレーションファイル名をファイル名を指定して実行

「update-database」でDBに反映

update-database

ダウングレードしたい場合

update-database -TargetMigration:マイグレーション名

コメントを残す