概要
DB接続用のDbContextクラスを継承したクラスを作成します。
対象のEntityクラスはこちらの記事で作成した護衛艦クラスを使用します。
目次
DbContextクラスの作成
下記画像のようにデータ
項目の中にあるADO.NET Entity Data Model
を選択します。
今回はプロジェクト直下にファイルを作成していますが、任意の場所で構わないです。
今回はShipsDbContext
と命名し作成します。
追加を押下するとセットアップウィザートが立ち上がってくるので下記画像のように
空のCodeFirstモデル
を選択します。そして完了
を押下
接続するEntityの定義
作成後、自動でDbContextクラス
を継承したShipsDbContextクラス
が作成されます。
//コメント省略
public class ShipsDbContext : DbContext {
public ShipsDbContext()
: base("name=ShipsDbContext")
}
}
作成済みのEntityクラスをDbSet<T>
のプロパティとして定義します。
SelfDefenseShips
がSelfDefenseShip
を格納するテーブル(語弊がある)となります。
public class ShipsDbContext : DbContext {
public ShipsDbContext()
: base("name=ShipsDbContext")
}
public DbSet<SelfDefenseShip> SelfDefenseShips { get; set; }
public DbSet<EscortFlotilla> EscortFlotillas { get; set; }
public DbSet<EscortDivision> EscortDivisions { get; set; }
public DbSet<HullCode> HullCodes { get; set; }
public DbSet<ShipClass> ShipClasses { get; set; }
}
基本的に定義するプロパティは複数形とします。
接続文字列の確認
自動で接続用文字列が追加されます。
<connectionStrings>
が追加されていることを確認してください。
プロジェクト/App.config
<connectionStrings>
<add name="ShipsDbContext" connectionString="data source=省略;initial catalog=省略;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
</connectionStrings>
DBにテーブルを作成
ビルドして実行してください。DBにテーブルが作成されます。
オブジェクトブラウザからDBにテーブルが作成されていることが確認出来ます。
※スクショ撮るためにテーブルを消してから再作成しているので最初からプロジェクトのスキーマが存在しているかは不明です。
「オブジェクトブラウザー 表示」とかでググると幸せになれるかも
以上