entity framework 6.1.3 + windows フォームサンプル アプリケーション構築手順書

41
Entity Framework 6.1.3 + Windows フフフフ フフフフ フフフフフフフフフフ フフフ 日日日日日日日日日日日日日 日日日日日日日日 日日 日日 [email protected] om 日日日日日 : 2016 日 7 日 5 日

Upload: masaki-takeda

Post on 16-Apr-2017

888 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書日本マイクロソフト株式会社

開発ツール推進部

武田 正樹 [email protected]

最終更新日 : 2016 年 7 月 5 日

Page 2: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

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

Page 3: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

3

目次

データベースの準備 4 Windows フォーム プロジェクトの新規作成 10 モデルのリバース エンジニアリング 14 DataGridView とのデータバインド 22 アプリケーションの実行 40

Page 4: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

データベースの準備

Page 5: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

5

1. Visual Studio 2015 を起動し、メニュー [ 表示 ]-[ サーバーエクスプローラー ] の順にクリックします。

データベースの準備 (1)

1

Page 6: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

6

1. サーバーエクスプローラーが表示されます。 [ データ接続 ] を右クリックします。2. [ 接続の追加 ] をクリックします。

データベースの準備 (2)

1

2

Page 7: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

7

データベースの準備 (3)1. 接続の追加ウイザードが表示されます。 [ サーバー名 ] に今回使用するデータベース名を入力します。2. データベースのログオン情報を入力します。今回は SQL Server 認証を使用しています。3. [ データベース名の選択または入力 ] を選択し、 [DatabaseFirst.Blogging] と入力します。4. [OK] をクリックします。

1

2

3

4

Page 8: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

8

1. サーバーエクスプローラーにデータベースのサーバー名が表示されますので、右クリックします。2. [ 新しいクエリ ] をクリックします。

データベースの準備 (4)

1

2

Page 9: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

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

Page 10: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

Windows フォーム プロジェクトの新規作成

Page 11: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

11

1. メニュー [ ファイル ]-[ 新規作成 ]-[ プロジェクト ] の順にクリックします。

Windows フォーム プロジェクトの新規作成 (1)

1

Page 12: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

12

1. [Visual C#]-[Windows] をクリックします。2. [Windows フォーム アプリケーション ] を選択します。3. [ ソース管理に追加 ] のチェックが外れていることを確認します。4. [OK] をクリックします。

Windows フォーム プロジェクトの新規作成 (2)

1

2

3 4

Page 13: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

13

[ ソリューション エクスプローラー ] に、 Windows フォーム プロジェクトが作成されていることを確認します。

Windows フォーム プロジェクトの新規作成 (3)

Page 14: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

モデルのリバース エンジニアリング

Page 15: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

15

1. [ ソリューション エクスプローラー ] の [ プロジェクト ] を右クリックします。2. [ 追加 ] をクリックします。3. [ 新しい項目 ] をクリックします。

モデルのリバース エンジニアリング (1)

1

23

Page 16: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

16

1. [Visual C#]-[ データ ] をクリックします。2. [ADO.NET Entity Data Model] を選択します。3. [ 名前 ] を [BloggingModel] と入力します。4. [OK] をクリックします。

モデルのリバース エンジニアリング (2)

1

2

3 4

Page 17: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

17

1. Entity Data Model ウイザードが表示されます。 [ データベースから ED Designer] を選択します。2. [ 次へ ] をクリックします。

モデルのリバース エンジニアリング (3)

1

2

Page 18: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

18

1. データ接続が […DatabaseFirst.Blogging.dbo] となっていることを確認します。2. 今回は、 [ はい、データベース接続文字列に含めます。 ] を選択します。3. [ 接続設定に名前を付けて Web.Config に保存 ] にチェックがはいっていることを確認します。4. [BloggingContext] と入力します。5. [ 次へ ] をクリックします。

モデルのリバース エンジニアリング (4)

1

5

2

3

4

Page 19: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

19

1. 使用する Entity Framework のバージョンを指定します。 [Entity Framework 6.x] を選択します。2. [ 次へ ] をクリックします。

モデルのリバース エンジニアリング (5)

1

2

Page 20: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

20

1. [ モデルに含めるデータベース オブジェクト ] の [ テーブル ] にチェックをいれます。2. [ 生成されたオブジェクトの名前を複数化まとは単数化する ] にチェックをいれます。3. [ モデル名前空間 ] が [DatabaseFirst.BloggingModel] になっていることを確認します。4. [ 完了 ] をクリックします。 その後セキュリティ警告が表示されますが、 [OK] をクリックします。

モデルのリバース エンジニアリング (6)

1

4

3

2

Page 21: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

21

リバース エンジニアリングのプロセスが完了すると、新しいモデルがプロジェクトに追加され、自動的にそのモデルが開いて Entity Framework デザイナーに表示されます。

モデルのリバース エンジニアリング (7)

Page 22: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

DataGridView とのデータバインド

Page 23: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

23

まずは、プロジェクトのビルドを行う必要があります。1. [ ソリューション エクスプローラー ] の [ プロジェクト ] を右クリックします。2. [ ビルド ] をクリックします。

DataGridView とのデータバインド (1)

1

2

Page 24: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

24

DataGridView に使用するデータソースを追加します。1. メニュー [ プロジェクト ]-[ 新しいデータソースの追加 ] の順にクリックします。

DataGridView とのデータバインド (2)

1

Page 25: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

25

[ データソース構成ウィザード ] が起動します。1. [ オブジェクト ] をクリックします。2. [ 次へ ] をクリックします。

DataGridView とのデータバインド (3)

1

2

Page 26: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

26

1. [WindowsFormApplication1] – [WindowsFormApplication1] を展開し、 [Blog] にチェックをいれます。2. [ 完了 ] をクリックします。3. ソリューション エクスプローラーに [Blog.datasource] が生成されていることを確認します。

DataGridView とのデータバインド (4)

1

2

3

Page 27: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

27

データソースの追加後にプロジェクトのビルドを行う必要があります。1. [ ソリューション エクスプローラー ] の [ プロジェクト ] を右クリックします。2. [ ビルド ] をクリックします。

DataGridView とのデータバインド (5)

1

2

Page 28: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

28

1. [Form1.cs [ デザイン ]] をクリックします。

DataGridView とのデータバインド (6)

1

Page 29: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

29

1. メニュー [ 表示 ]-[ その他のウインドウ ] の順にクリックします。2. [ データソース ] をクリックします。

DataGridView とのデータバインド (7)

1

2

Page 30: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

30

1. [ データソース ] ウインドウの [Blog] を [Form1] にドラッグ & ドロップ。 DataGridView とナビゲーションが追加されます。

2. [blogBindingSource] と [blogBidingNavigator] が表示されていることを確認します。

DataGridView とのデータバインド (8)

1

2

Page 31: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

31

DataGridView と Entity Framework のデータバインドには、若干のコードの記述が必要です。1. DataGridView コントロールが無いフォームの場所で右クリックします。2. [ プロパティ ] をクリックします。

DataGridView とのデータバインド (9)

1

2

Page 32: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

32

1. プロパティウインドウが開きます。 [ 稲妻アイコン ] をクリックします。2. 動作カテゴリにある [Load] 欄に [Form1_Load] と入力し、 [Enter] キーを押します。

DataGridView とのデータバインド (10)

1

2

Page 33: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

33

1. Form1.cs の Form1_Load メソッドが表示されますので、以下のように入力します。

DataGridView とのデータバインド (11)

context = new BloggingContext();context.Blogs.Load();blogBindingSource.DataSource = context.Blogs.Local.ToBindingList();

1

Page 34: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

34

1. Form1.cs 10 行目に [using System.Data.Entity;] を追加します。2. Form1.cs 16 行目に [BloggingContext context;] を追加します。

DataGridView とのデータバインド (12)

1

2

Page 35: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

35

1. [Form1.cs [ デザイン ]] をクリックします。2. DataGridView をクリックして選択し、 [▶] をクリックします。3. [ 列の編集 ] をクリックします。

DataGridView とのデータバインド (13)

1

2

3

Page 36: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

36

1. 不要な列を削除します。 [Posts] をクリックします。2. [ 削除 ] をクリックします。3. [OK] をクリックします。

DataGridView とのデータバインド (14)

1

2

3

Page 37: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

37

1. [ 保存 ] アイコンを右クリックします。2. [Enabled] をクリックします。3. 再度 [ 保存 ] アイコンを右クリックし、 [ プロパティ ] をクリックします。

DataGridView とのデータバインド (15)

1

2

3

Page 38: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

38

プロパティウインドウが開きます。1. アクションカテゴリにある [Click] 欄に [SaveItems] と入力し、 [Enter] キーを押します。

DataGridView とのデータバインド (16)

1

Page 39: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

39

1. Form1.cs の SaveItems メソッドが表示されますので、以下のように入力します。

2. [ すべて保存 ] アイコンをクリックし、保存します。

DataGridView とのデータバインド (17)

1

context.SaveChanges();

2

Page 40: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

アプリケーションの実行

Page 41: Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書

41

1. メニュー [ デバッグ ]-[ デバッグの開始 ] の順にクリックします。

以下の画面が表示されます。これでアプリケーションの作成は完了です。アイテムの追加や編集などを実施して、問題なく動作していることを確認してましょう。

アプリケーションの実行 (1)

1