Suche senden
Hochladen
20110607
•
Als PPTX, PDF herunterladen
•
0 gefällt mir
•
511 views
小野 修司
Folgen
Melden
Teilen
Melden
Teilen
1 von 25
Jetzt herunterladen
Empfohlen
Mvc conf session_4_ono
Mvc conf session_4_ono
Hiroshi Okunushi
CLI と BCL
CLI と BCL
shozon
CouchDB20091120_validation
CouchDB20091120_validation
Makoto Ohnami
[Lt]windows ブートマネージャーのスクリーンショットをとる方法
[Lt]windows ブートマネージャーのスクリーンショットをとる方法
Masaya Sawada
Hol002 azure resource_manager_テンプレート
Hol002 azure resource_manager_テンプレート
Tech Summit 2016
Vb script power_shellでメール送信
Vb script power_shellでメール送信
Naoyuki Sano
Entity Framework 5.0 deep dive
Entity Framework 5.0 deep dive
Atsushi Fukui
[Intermediate 04] ブロックチェーンの動作原理
[Intermediate 04] ブロックチェーンの動作原理
Yuto Takei
Empfohlen
Mvc conf session_4_ono
Mvc conf session_4_ono
Hiroshi Okunushi
CLI と BCL
CLI と BCL
shozon
CouchDB20091120_validation
CouchDB20091120_validation
Makoto Ohnami
[Lt]windows ブートマネージャーのスクリーンショットをとる方法
[Lt]windows ブートマネージャーのスクリーンショットをとる方法
Masaya Sawada
Hol002 azure resource_manager_テンプレート
Hol002 azure resource_manager_テンプレート
Tech Summit 2016
Vb script power_shellでメール送信
Vb script power_shellでメール送信
Naoyuki Sano
Entity Framework 5.0 deep dive
Entity Framework 5.0 deep dive
Atsushi Fukui
[Intermediate 04] ブロックチェーンの動作原理
[Intermediate 04] ブロックチェーンの動作原理
Yuto Takei
20111203
20111203
小野 修司
20070310
20070310
小野 修司
20120425
20120425
小野 修司
20120609
20120609
小野 修司
20120128
20120128
小野 修司
4. многолетнемерзлые породы
4. многолетнемерзлые породы
osinceva
20120616
20120616
小野 修司
20121215
20121215
小野 修司
20140322
20140322
小野 修司
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
lalha
Clrh 110716 wcfwf
Clrh 110716 wcfwf
Tomoyuki Obi
Spring mvc
Spring mvc
Ryo Asai
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Kazushi Kamegawa
20050917
20050917
小野 修司
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
オラクルエンジニア通信
SpringBootによるDB更新
SpringBootによるDB更新
iPride Co., Ltd.
Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書
Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書
Masaki Takeda
Mongodb
Mongodb
Satoru Mikami
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Kazuyuki Miyake
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Shotaro Suzuki
ADO.NET Entity Framework
ADO.NET Entity Framework
Microsoft
20050903
20050903
小野 修司
Weitere ähnliche Inhalte
Andere mochten auch
20111203
20111203
小野 修司
20070310
20070310
小野 修司
20120425
20120425
小野 修司
20120609
20120609
小野 修司
20120128
20120128
小野 修司
4. многолетнемерзлые породы
4. многолетнемерзлые породы
osinceva
20120616
20120616
小野 修司
20121215
20121215
小野 修司
20140322
20140322
小野 修司
Andere mochten auch
(9)
20111203
20111203
20070310
20070310
20120425
20120425
20120609
20120609
20120128
20120128
4. многолетнемерзлые породы
4. многолетнемерзлые породы
20120616
20120616
20121215
20121215
20140322
20140322
Ähnlich wie 20110607
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
lalha
Clrh 110716 wcfwf
Clrh 110716 wcfwf
Tomoyuki Obi
Spring mvc
Spring mvc
Ryo Asai
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Kazushi Kamegawa
20050917
20050917
小野 修司
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
オラクルエンジニア通信
SpringBootによるDB更新
SpringBootによるDB更新
iPride Co., Ltd.
Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書
Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書
Masaki Takeda
Mongodb
Mongodb
Satoru Mikami
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Kazuyuki Miyake
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Shotaro Suzuki
ADO.NET Entity Framework
ADO.NET Entity Framework
Microsoft
20050903
20050903
小野 修司
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
QlikPresalesJapan
VSUG Day 2010 Summer - Using ADO.NET Entity Framework
VSUG Day 2010 Summer - Using ADO.NET Entity Framework
Atsushi Fukui
[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005
Microsoft Tech Summit 2017
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~
Yoshitaka Seo
リソーステンプレート入門
リソーステンプレート入門
junichi anno
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
Shotaro Suzuki
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
Akira Inoue
Ähnlich wie 20110607
(20)
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
Clrh 110716 wcfwf
Clrh 110716 wcfwf
Spring mvc
Spring mvc
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure Pipelines
20050917
20050917
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
SpringBootによるDB更新
SpringBootによるDB更新
Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書
Entity Framework 6.1.3 + Windows フォームサンプル アプリケーション構築手順書
Mongodb
Mongodb
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
ADO.NET Entity Framework
ADO.NET Entity Framework
20050903
20050903
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
VSUG Day 2010 Summer - Using ADO.NET Entity Framework
VSUG Day 2010 Summer - Using ADO.NET Entity Framework
[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~
リソーステンプレート入門
リソーステンプレート入門
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
Mehr von 小野 修司
20100313
20100313
小野 修司
20100224
20100224
小野 修司
20100218 lt
20100218 lt
小野 修司
20100218
20100218
小野 修司
20091207
20091207
小野 修司
20090711
20090711
小野 修司
20090606
20090606
小野 修司
20090418
20090418
小野 修司
20090328
20090328
小野 修司
20090212
20090212
小野 修司
20081003
20081003
小野 修司
20080630
20080630
小野 修司
20080627 2
20080627 2
小野 修司
20080627 1
20080627 1
小野 修司
20080524
20080524
小野 修司
20080213
20080213
小野 修司
20080201
20080201
小野 修司
20071204
20071204
小野 修司
20071030
20071030
小野 修司
20061125
20061125
小野 修司
Mehr von 小野 修司
(20)
20100313
20100313
20100224
20100224
20100218 lt
20100218 lt
20100218
20100218
20091207
20091207
20090711
20090711
20090606
20090606
20090418
20090418
20090328
20090328
20090212
20090212
20081003
20081003
20080630
20080630
20080627 2
20080627 2
20080627 1
20080627 1
20080524
20080524
20080213
20080213
20080201
20080201
20071204
20071204
20071030
20071030
20061125
20061125
20110607
1.
mvcConf @:Japan ~ ASP.NET
MVC ブート キャンプ ~ MVC の M あおい情報システム株式会社 小野 修司 Microsoft MVP for ASP.NET/IIS blogonos.wordpress.com twitter.com/onos
2.
アジェンダ MVC の
M として何を用いるか Entity Framework 4.1 CodeFirst OData 連携 2
3.
Entity Framework 4.1
CodeFirst 3
4.
Entity Framework 4.1
CodeFirst demo ... 4
5.
POCO クラス定義 データ構造を意識したクラス定義
主キー ナビゲーションプロパティ、外部キー レイジーローディング 計算項目 クラス定義=テーブル設計 設定に勝る規約(Convention over Configuration) 属性による設定 Fluent API による設定(DbContext 内) 5
6.
Fluent API の例:[Required] public
class GroupContext : DbContext { public DbSet<Member> Members { get; set; } public DbSet<Category> Categories { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Member>() .Property(m => m.Name).IsRequired(); } } #DB定義は同じになるが検証等のプログラム上の処理は異なる 6
7.
DbContext 定義 クラスと
DB のマッピングを設定 設定に勝る規約(CoC) Fluent API により詳細な設定 7
8.
接続文字列定義 利用(構築)する DB
の場所を設定 設定に勝る規約(CoC) 該当する接続文字列がない場合、 SQLExpress インスタンスを利用 <add name=“GroupContext“ connectionString="Data Source=|DataDirectory|Group.sdf" providerName="System.Data.SqlServerCe.4.0"/> 8
9.
データベースの初期化 Initializerクラス
DBの構築/修正 基底クラスにより設定 POCOクラスの定義変更を即座にDBに反映可能 項目の初期値設定 Seedメソッドのオーバーライド 常に同じデータを設定-テスト環境として有効 パッケージの初期値投入 9
10.
スキャッフォールディング コントローラー/ビューを一括追加 DbContext(コードファースト)、ObjectContext
(DBファースト/モデルファースト)を利用可能 コントローラーでのデータの扱い方の参考となる [参考] MvcScaffolding NuGet からインストール リポジトリパターン/ユニットテストコードも生成可 10
11.
データ取得 ○単一データ取得
db.Members.Find(id); ○複数データ取得(リンクなし) db.Members.ToList(); ○複数データ取得(一括ローディング) db.Members.Include(m => m.Category).ToList(); 11
12.
データ追加/更新/削除 ○データ追加
db.Members.Add(member); db.SaveChanges(); ○データ更新(Attachして更新状態に変更) db.Entry(member).State = EntityState.Modified; db.SaveChanges(); ○データ削除 Member member = db.Members.Find(id); db.Members.Remove(member); db.SaveChanges(); 12
13.
DropDownList の使い方 ○コントローラーで SelectList
を作成し、ViewBag.フィールド名 に詰め込む ViewBag.CategoryID = new SelectList(db.Categories, "CategoryID", "Name"); ○ビューではフィールド名とオプションラベルのみ指定 @Html.DropDownList("CategoryID", String.Empty) 13
14.
バリデーション 属性による設定 スキャッフォールドで作成されるビューでは
JQuery.Validate を利用しクライアント側で検証 クラスレベルでの関連チェック IValidatableObject を実装する ValidationResult を yield で返す 14
15.
同時実行制御 制御用の項目を作成 Timestamp
属性を指定 エラーハンドリング View に制御用項目の Hidden フィールドを追加 DbUpdateConcurrencyException をキャッチ 15
16.
実行環境 .NET Framework
4 MVC 3 Tools Update のテンプレート MVC 3 の dll を参照済み EF 4.1 の dll を参照済み SQL Server Compactを利用可 配置可能な依存関係の追加 MVC 3、SQL Server Compact EF 4.1 はローカルコピーを True に 16
17.
OData
17
18.
WCF Data Servicesとの連携 demo
... 18
19.
WCF Data Services
標準でODataを利用 デフォルトのデータ表現はAtomPub JSONにはHTTP要求ヘッダーにより対応 19
20.
OData クライアント DataServiceContext
を利用 サービス参照の追加により自動生成 LINQ ベースでデータを操作 MetaData による検証属性の付加が可能 20
21.
まとめ
21
22.
MVC の 「
M 」 用意されているデータアクセス機能をいか に活用するか DbContext ObjectContext DataServiceContext . . . LINQ によるデータ抽出 データの追加/更新方法は Context により異なる 22
23.
参照リンク
23
24.
Entity Framework
http://msdn.microsoft.com/en-us/data/gg192989 http://www.asp.net/entity-framework/tutorials OData http://www.odata.org/ http://msdn.microsoft.com/en-us/data/hh237663 WCF Data Services http://msdn.microsoft.com/ja-jp/library/cc668792 24
25.
© 2011 Microsoft
Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Jetzt herunterladen