Microsoftによると、Entity Framework 6.0はasyncをサポートし、SaveChangesAsync()もしくはExecuteSqlCommandAsync()を使った実装が可能になる。
OdeToCodeの主任コンサルタント、Scott Allen氏はEntity Frameworkプロジェクトのサイトにあるソースコードを解析して、asyncの実装について調べた。
それによるとEntity Framework 6.0では、開発者はIQueryable (IQueryable<T>)オペレータでのasyncオペレーションが可能になり、FindAsync()やSingleAsync()拡張メソッドを使って実装できるようになる。さらに開発者はToListAsync()メソッドを利用したコードも実行できる。
「新しいIQueryableオペレータは具体的な結果をマテリアライズするオペレータのasync版です」とScott氏は語る。
また、ストアドプロシージャマッピングとデータベース関数もサポートする。これによりカスタム規約を書いて、Code Firstを使って登録することができる。
Entity Framework 6.0プロジェクトを実行するのに必要なステップは以下のようになる。
- NuGetディレクトリにあるNuget.projファイルをmsbuildする
- NuGet\bin\debugディレクトリをカスタムローカルNuGetリポジトリとして追加する
- NuGet経由でEntity Framework 6への参照を追加する
Microsoftは2つのバージョンをリリースする計画だ。ひとつはここで説明した全機能を備えた.NET Framework 4.5向け、もうひとつはasyncサポートのないNET Framework 4向けだ。