実践 Entity Framework ~ Id 列の作成
Entity Framework で Code First Migrations。
前回、コードでテーブルエンティティを作成してみましたが、実テーブルの差癖性に失敗してしまいました。キーの定義がないということでしたので、今回はそのキー列を作成してみましょう。
キーの定義方法はいくつかありますが・・・とりあえず、キーとなる列を新しく作成してみます。
Id プロパティ
Prefecture クラスに、新しく int 型の Id プロパティを定義します。
public int Id { get; set; }
とりあえず、これで出来ます。
論より証拠ですね。もう一度挑戦してみましょう。
Add-Migration CreatePrefecture
おっ!
赤い文字でなくなって、なんかうまくいったっぽいですね。
Migrations フォルダの中に、新しく次のようなコードを持つクラスが作成されています。
詳細は置いておいて、どんどん進めます。
実際にこれをデータベースに適用させます。
Update-Database
エラーが出ることもなく、無事にできたみたいですねー。
データベースを確認してみると・・・
Prefectures テーブルができています。
前回にもちょろっと説明していますが、単数形名称のクラス名に対して、複数形名称のテーブルが作成されます。
そして、フィールドも定義したプロパティと同じものができています。
さて、問題の Id ですが・・・ちゃんと PK(Primary Key) として作成されてますね。この Id 列は Identity となり、自動連番となります。