SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Scott Guthrie氏 Blog翻訳

Visual Studio 2013のリリースとASP.NETおよびEntity Frameworkの機能改善についてのお知らせ

連載:ScottGu's Blog翻訳

  • X ポスト
  • このエントリーをはてなブックマークに追加

Entity Framework 6の改善

 Visual Studio 2013は、Entity Framework 6が一緒に出荷されており、データアクセス空間にすばらしい新機能が数多く含まれています。

非同期とTask<T>のサポート

 EF6の新しい非同期クエリと保存のサポートにより、非同期データアクセスを実行し、データアクセスシナリオ内の.NET 4.5に導入されたTask<T>サポートを活用することができます。これにより、データアクセスリクエストでブロックされる可能性のあるスレッドが解放され、データベースエンジンの処理を待っている間に他のリクエスト処理に使用できます。データベースサーバが応答すると、スレッドは、ASP.NETアプリケーション内で再度キューに登録され、実行が継続されます。これにより、かなりスケーラブルなサーバコードを簡単に書くことができます。

 以下は、新しいEF6非同期クエリメソッドを利用するASP.NET WebAPIアクションの例になります。

傍受とログ

 傍受とSQLログにより、Entity Frameworkによりデータベースに送信されたすべてのコマンドが確認(また変更も)できるようになりました。これには、デバッグに適した単純で人間が読める形のログと、コマンドや結果にアクセスできるように、低レベルのビルディングブロックがいくつか含まれています。

 以下は、MVCコントローラのコンストラクタでデバッグするために設定された簡単なログの例です。

独自のコードファースト表記規則

 新しい独自のコードファースト表記規則では、コードファーストモデルを一括設定することができ、書いたり保守したりする必要のあるコードの量を減らします。

 ドメインクラスがコードファースト規則に一致しない場合に便利です。

 例えば、以下の規則は、エンティティが属する主キーとなる"Key’と呼ばれるすべてのプロパティを設定します。

 これは、IDおよび<type name>Idを想定するデフォルトのコードファースト規則とは異なります。

接続の弾力性

 EF6の新しいConnection Resiliency機能では、失敗したデータベース操作の処理(必要に応じて再試行)を行う実行戦略を登録することができます。

 これは、ロードバランサや分散ネットワークをトラバースすると、よく接続のドロップが見つかるクラウド環境に展開すると特に便利です。

 再試行可能な例外の種類を知っていて、エラー発生時に再試行された数と再試行間の時間に対して常識的な(上書き可能)デフォルトをいくつか持っているSQL Azure用の実行戦略がEF6にはビルトインされています。

 登録は、新しいコードベースの構成サポートを使用するだけです。

 これらはEF6の新機能の一部です。新機能の完全なリストは、Entity Frameworkサイトのリリースノートセクションを参照してください。

Microsoft OWINコンポーネント

 Open Web Interface for .NET(OWIN)は、.NET WebサーバとWebアプリケーション間のオープンな抽象化を定義しており、ASP.NET "Katana"プロジェクトでは、この抽象化をASP.NETにもたらします。

 OWINは、Webアプリケーションをホストに依存しないようにし、サーバからWebアプリケーションを分離します。例えば、OWINベースのWebアプリケーションは、IISでホストすることも独自のプロセスで自己ホストすることもできます。

 OWINとKatanaの詳細については、OWINおよびKatanaの進捗をご確認ください。

まとめ

 Visual Studio 2013、ASP.NET、Entity Frameworkの今回のリリースは、Web開発のライフサイクルを効率化するすばらしい新機能を提供してます。これらの機能は、サーバフレームワークから、データアクセス、クライアント側のHTML開発ツールに渡っています。これらは、いくつかのすばらしいオープンソース技術や、開発者コミュニティからの貢献とも統合されています。

 ダウンロードして、すぐに使用してみてください!

 Scott

 P.S.ブログに加え、現在Twitterを使って簡単な更新やリンク共有を行っています。twitter.com/scottguで、私をフォローしてください。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Scott Guthrie氏 Blog翻訳連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト Chica(チカ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Scott Guthrie(Scott Guthrie)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7467 2013/10/28 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング