Silverlight を使用して、事業別などのデータ中心型アプリケーションを構築できます。このようなアプリケーションでは、一般に次の手順が実行されます。
手順 1と3では、通常、データを転送するために Web サービスが使用され、データベースをクエリーおよび更新するために従来のデータアクセス方法が使用されます。手順 2では、通常、Silverlight データ連結コントロールが使用されます。
Microsoft は、サーバー側のジョブを実行するために多くのツールを提供しています。最新のツールとして、ADO.NET Data Services があります。これは、Web アクセス可能なエンドポイントをデータモデルに提供し、Silverlight ライブラリ(System.Data.Services.Client.dll)の ADO.NET Data Services を介して Silverlight と統合されます。最近では、この新技術に関する記事が多く掲載されています(MSDN 2008 年 9 月、volume 23、no. 10 の「Data Services」など)。
ADO.NET Data Services は、さまざまなデータ中心型アプリケーションの標準になる可能性が高い強力な新技術です。ただし、この技術が唯一の選択肢というわけではありません。サーバー側でデータを取得および更新するために、従来の ADO.NET データクラス(DataSet、DataTable、DataAdapters など)も使用できます。これらのクラスは、.NET 1.0 以来、開発者に使用されており、堅牢で強力な使いやすいクラスです。さらに、多くの開発者は、長期に渡って使用およびテストされてきたコードとして、これらのクラスに多くの投資を行ってきています。
Data for Silverlight は、従来の ADO.NET を使ってサーバーとデータをやり取りするために Silverlight クライアントから使用できるクラスの一式です。一般的な手順は次のとおりです。
このシナリオにおける C1Data の役割は2つあります。1つめは、クライアント側とサーバー側の DataSet オブジェクト間のデータ転送を容易にする対称型のシリアライズメカニズムを提供します。2つめは、クライアント側でデータを操作するための使い慣れたオブジェクトモデルを提供します。
![]() |
メモ:C1Data は、ADO.NET Data Services に対抗するものではありません。 C1Data は、既に蓄えてある ADO.NET の知識や資源を活用できるようにします。あらゆる情報や資源を最小限の作業で Silverlight に転送することができます。また、必要に応じて、徐々に ADO.NET Data Services に移行することもできます。 |
C1Data はレガシー技術ではありません。 たとえば、C1Data は LINQ と共に使用できます。実際、C1Data では、デスクトップでは使用できるが、Silverlight アプリケーションでは使用できない LINQ 機能が有効になります(一部匿名クラス)。
以下のセクションでは、上の手順に従う単純なアプリケーションの実装について説明します。このアプリケーションは単純ですが、ほとんどのデータ中心型アプリケーションで必要になる4つの CRUD(Create、Read、Update、Delete)操作の実行方法を示します。