Skip to main content
Entity Framework 6.1.3 + Windows フォーム
サンプル アプリケーション構築
手順書
日本マイクロソフト株式会社
開発ツール推進部
武田 正樹
Masaki.Takeda@microsoft.com
最終更新日: 2016 年 7 月 5 日
2
本手順書で構築できるアプリケーション
 Entity Framework 6.1.3 + Windows フォームを利用して、
データベースからほぼノンコーディングでアプリケーションを作成します。
 本手順書では、以下のソフトウェアを同一マシンにインストールしています。
 Visual Studio 2015 (Professional / Enterprise / Community)
 SQL Server Express 2014 http://www.microsoft.com/ja-jp/download/details.aspx?id=42299
3
目次
 データベースの準備 4
 Windows フォーム プロジェクトの新規作成 10
 モデルのリバース エンジニアリング 14
 DataGridView とのデータバインド 22
 アプリケーションの実行 40
データベースの準備
5
1. Visual Studio 2015 を起動し、メニュー[表示]-[サーバーエクスプローラー] の順にクリックします。
データベースの準備 (1)
1
6
1. サーバーエクスプローラーが表示されます。[データ接続] を右クリックします。
2. [接続の追加] をクリックします。
データベースの準備 (2)
1
2
7
データベースの準備 (3)
1. 接続の追加ウイザードが表示されます。[サーバー名] に今回使用するデータベース名を入力します。
2. データベースのログオン情報を入力します。今回は SQL Server 認証を使用しています。
3. [データベース名の選択または入力]を選択し、[DatabaseFirst.Blogging] と入力します。
4. [OK] をクリックします。
1
2
3
4
8
1. サーバーエクスプローラーにデータベースのサーバー名が表示されますので、右クリックします。
2. [新しいクエリ] をクリックします。
データベースの準備 (4)
1
2
9
SQL 文を実行して、 DatabaseFirst.Blogging データベースにテーブルを作成します。
1. 以下のSQL 文を実行します。
2. [▶] をクリックします。SQL 文が実行され、テーブル [Blogs], [Posts] が作成されます。
データベースの準備 (5)
CREATE TABLE [dbo].[Blogs] (
[BlogId] INT IDENTITY (1, 1) NOT NULL,
[Name] NVARCHAR (200) NULL,
[Url] NVARCHAR (200) NULL,
CONSTRAINT [PK_dbo.Blogs] PRIMARY KEY CLUSTERED ([BlogId] ASC)
);
CREATE TABLE [dbo].[Posts] (
[PostId] INT IDENTITY (1, 1) NOT NULL,
[Title] NVARCHAR (200) NULL,
[Content] NTEXT NULL,
[BlogId] INT NOT NULL,
CONSTRAINT [PK_dbo.Posts] PRIMARY KEY CLUSTERED ([PostId] ASC),
CONSTRAINT [FK_dbo.Posts_dbo.Blogs_BlogId] FOREIGN KEY ([BlogId])
REFERENCES [dbo].[Blogs] ([BlogId]) ON DELETE CASCADE
);
1
2
Windows フォーム
プロジェクトの新規作成
11
1. メニュー[ファイル]-[新規作成]-[プロジェクト] の順にクリックします。
Windows フォーム プロジェクトの新規作成 (1)
1
12
1. [Visual C#]-[Windows] をクリックします。
2. [Windows フォーム アプリケーション] を選択します。
3. [ソース管理に追加] のチェックが外れていることを確認します。
4. [OK] をクリックします。
Windows フォーム プロジェクトの新規作成 (2)
1
2
3
4
13
[ソリューション エクスプローラー] に、Windows フォーム プロジェクトが作成されていることを確認します。
Windows フォーム プロジェクトの新規作成 (3)
モデルの
リバース エンジニアリング
15
1. [ソリューション エクスプローラー] の [プロジェクト] を右クリックします。
2. [追加] をクリックします。
3. [新しい項目] をクリックします。
モデルのリバース エンジニアリング (1)
1
2
3
16
1. [Visual C#]-[データ] をクリックします。
2. [ADO.NET Entity Data Model] を選択します。
3. [名前] を [BloggingModel] と入力します。
4. [OK] をクリックします。
モデルのリバース エンジニアリング (2)
1
2
3 4
17
1. Entity Data Model ウイザードが表示されます。[データベースから ED Designer] を選択します。
2. [次へ] をクリックします。
モデルのリバース エンジニアリング (3)
1
2
18
1. データ接続が […DatabaseFirst.Blogging.dbo] となっていることを確認します。
2. 今回は、[はい、データベース接続文字列に含めます。] を選択します。
3. [接続設定に名前を付けて Web.Config に保存] にチェックがはいっていることを確認します。
4. [BloggingContext] と入力します。
5. [次へ] をクリックします。
モデルのリバース エンジニアリング (4)
1
5
2
3
4
19
1. 使用する Entity Framework のバージョンを指定します。 [Entity Framework 6.x] を選択します。
2. [次へ] をクリックします。
モデルのリバース エンジニアリング (5)
1
2
20
1. [モデルに含めるデータベース オブジェクト] の [テーブル] にチェックをいれます。
2. [生成されたオブジェクトの名前を複数化まとは単数化する]にチェックをいれます。
3. [モデル名前空間] が [DatabaseFirst.BloggingModel] になっていることを確認します。
4. [完了] をクリックします。 その後セキュリティ警告が表示されますが、[OK] をクリックします。
モデルのリバース エンジニアリング (6)
1
4
3
2
21
リバース エンジニアリングのプロセスが完了すると、新しいモデルがプロジェクトに追加され、
自動的にそのモデルが開いて Entity Framework デザイナーに表示されます。
モデルのリバース エンジニアリング (7)
DataGridView とのデータバインド
23
まずは、プロジェクトのビルドを行う必要があります。
1. [ソリューション エクスプローラー] の [プロジェクト] を右クリックします。
2. [ビルド] をクリックします。
DataGridView とのデータバインド (1)
1
2
24
DataGridView に使用するデータソースを追加します。
1. メニュー[プロジェクト]-[新しいデータソースの追加] の順にクリックします。
DataGridView とのデータバインド (2)
1
25
[データソース構成ウィザード] が起動します。
1. [オブジェクト] をクリックします。
2. [次へ] をクリックします。
DataGridView とのデータバインド (3)
1
2
26
1. [WindowsFormApplication1] – [WindowsFormApplication1] を展開し、[Blog] にチェックをいれます。
2. [完了] をクリックします。
3. ソリューション エクスプローラーに [Blog.datasource] が生成されていることを確認します。
DataGridView とのデータバインド (4)
1
2
3
27
データソースの追加後にプロジェクトのビルドを行う必要があります。
1. [ソリューション エクスプローラー] の [プロジェクト] を右クリックします。
2. [ビルド] をクリックします。
DataGridView とのデータバインド (5)
1
2
28
1. [Form1.cs [デザイン]] をクリックします。
DataGridView とのデータバインド (6)
1
29
1. メニュー[表示]-[その他のウインドウ] の順にクリックします。
2. [データソース] をクリックします。
DataGridView とのデータバインド (7)
1
2
30
1. [データソース]ウインドウの [Blog] を[Form1] にドラッグ&ドロップ。DataGridView とナビゲーションが追加されます。
2. [blogBindingSource] と [blogBidingNavigator] が表示されていることを確認します。
DataGridView とのデータバインド (8)
1
2
31
DataGridView と Entity Framework のデータバインドには、若干のコードの記述が必要です。
1. DataGridView コントロールが無いフォームの場所で右クリックします。
2. [プロパティ] をクリックします。
DataGridView とのデータバインド (9)
1
2
32
1. プロパティウインドウが開きます。[稲妻アイコン] をクリックします。
2. 動作カテゴリにある [Load] 欄に [Form1_Load] と入力し、[Enter] キーを押します。
DataGridView とのデータバインド (10)
1
2
33
1. Form1.cs の Form1_Load メソッドが表示されますので、以下のように入力します。
DataGridView とのデータバインド (11)
context = new BloggingContext();
context.Blogs.Load();
blogBindingSource.DataSource = context.Blogs.Local.ToBindingList();
1
34
1. Form1.cs 10行目に [using System.Data.Entity;] を追加します。
2. Form1.cs 16行目に [BloggingContext context;] を追加します。
DataGridView とのデータバインド (12)
1
2
35
1. [Form1.cs [デザイン]] をクリックします。
2. DataGridView をクリックして選択し、[▶] をクリックします。
3. [列の編集] をクリックします。
DataGridView とのデータバインド (13)
1
2
3
36
1. 不要な列を削除します。[Posts] をクリックします。
2. [削除] をクリックします。
3. [OK] をクリックします。
DataGridView とのデータバインド (14)
1
2
3
37
1. [保存] アイコンを右クリックします。
2. [Enabled] をクリックします。
3. 再度 [保存]アイコンを右クリックし、[プロパティ] をクリックします。
DataGridView とのデータバインド (15)
1
2
3
38
プロパティウインドウが開きます。
1. アクションカテゴリにある [Click] 欄に [SaveItems] と入力し、[Enter] キーを押します。
DataGridView とのデータバインド (16)
1
39
1. Form1.cs の SaveItems メソッドが表示されますので、以下のように入力します。
2. [すべて保存] アイコンをクリックし、保存します。
DataGridView とのデータバインド (17)
1
context.SaveChanges();
2
アプリケーションの実行
41
1. メニュー[デバッグ]-[デバッグの開始] の順にクリックします。
以下の画面が表示されます。これでアプリケーションの作成は完了です。アイテムの追加や編集などを実施して、問題
なく動作していることを確認してましょう。
アプリケーションの実行 (1)
1