Microsoft LightSwitch Beta2の更新内容

MSDNの「What’s New in Microsoft LightSwitch Beta 2」をざっくりと意訳した投稿です。

LightSwitchチームは、改善されたベータ2をリリースするために数か月精力的に働いてきました。顧客から報告されたバグ修正など、ベータ1の顧客よりいただいたフィードバックをもとにして多くの改善をしました。

すべての変更、改善内容一覧はとても膨大になりますので、ドキュメントやチームBlogを読んだり、アプリケーション開発を通して気づいてください。以下の内容は、いくつかの重要で主要な新機能を紹介しています。

Windows Azureへの配置

LightSwitch ベータ2は、Windows Azureへのアプリケーション配置を可能にし、クラウドコンピューティングに対応することを保証します。

SQL Azureデータベースを使用するアプリケーションの配置や、デスクトップアプリケーションやウェブアプリケーションをWindows Azureへの配置を、配置ウィザードを使用して簡単にできます。

実行時、設計時のパフォーマンス改善

初回アプリケーション起動速度の改善や、F5/ビルドの高速化、プロジェクト作成、ロード速度の改善など、LightSwitchのパフォーマンスは劇的に改善しました。

データの保存、ロードや計算フィールドなどのパフォーマンスを改善しています。

エンドユーザアプリケーションの強化

新しい自動補完コントロールやキーボードナビゲーションの向上、長時間操作の経験の改善など、ベータ2のユーザインターフェイスの改善などエンドユーザアプリケーションが改善されました。

ExcelやAccessと同じようなユーザ経験を提供するグリッドの改善を特筆します。

static span(訳語不明)

LightSwitch Beta 2は、static spanに対応しました。static spanは、クエリ実行時に関連データを含めるか含めないかを指定できるようにします。たとえば、Orderエンティティは、Customerエンティティなどにリレーションを設定しているとします。static spanが無いと、 クエリ結果を返すのに行ごとに関連するエンティティごとにサーバへ別々のラウンドトリップが必要になり、パフォーマンスが劣化します。

一意制約の宣言

Beta 2のエンティティフィールドで、ユニーク(一意)を指定できるようになりました。 エンティティデザイナーでエンティティフィールドを選択すると、プロパティウィンドウに“Include in Unique Index”チェックボックスが表示されます。ユニーク設定をするとデータベースで自動的に適切なバリデーションルールが生成されます。

フィールド設定で、ユニークをしているすこともできます。OrderDetailsテーブルのOrderとProductの組み合わせなど、多くのテーブルをマッピングするモデリングをするのに便利です。

サーバコードでの権限昇格

UI操作をするとき、エンティティのアクセス制御するために使用できる機能です。サーバ上で、エンドユーザに代わってプロセスでデータ更新をすることもできます。

たとえば、エンドユーザは、ユーザの与信限度額を更新すべきではありません。しかし、注文を保存する際に、ビジネス規定にに応じて与信限度額を更新することがあります。その際に、ユーザ操作の裏側でプロセスが走って、与信限度額を更新するときに一時的に、実行ユーザ権限を昇格する必要があります。それは、UserクラスのAddPermissions() や RemovePermissions() メソッドを使用することで実現できます。

[Visual Basic]
Using Application.User.AddPermissions(Permissions.OrderEntry, Permissions.Administrator)
    ' Do something
End Using
[C#]
using (Application.User.AddPermissions(Permissions.OrderEntry, Permissions.Administrator))
{
    // Do something
}

Windowsユーザ認証の承認

プロジェクトプロパティUIに、LightSwitchアプリケーションでWindows ユーザ認証を可能にする設定画面が追加されました。特定ユーザにアクセス許可を設定するには、LightSwitchの承認サブシステムを使用します。

画面デザイナーの強化

Beta 2の画面デザイナーは、UI要素の配置やサイズ変更など、より詳細に制御できる新しく柔軟なレイアウトコントロールなど顧客からのフィードバックを受け、いくつかの改良をしました。

データソースクエリのカスタマイズをサポート

WCF RIA Serviceを参照に追加すると、パラメータライズされたシングルまたはエンティティコレクション(IQueryable/IEnumerable) を返すカスタムWCF RIA Serviceは、LightSwitchにインポートされます。