entity framework 6.1.3 + windows フォームサンプル アプリケーション構築手順書
TRANSCRIPT
Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書日本マイクロソフト株式会社
開発ツール推進部
武田 正樹 [email protected]
最終更新日 : 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
23
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