DataSource for Entity Framework for WPF/Silverlight
他の MVVM フレームワークを使用した MVVM での C1DataSource の使用
DataSource for Entity Framework > 他の MVVM フレームワークを使用した MVVM での C1DataSource の使用

C1DataSource を使用すると、他の任意の Model-View-ViewModel(MVVM)フレームワークで MVVM アプリケーションを作成できます。

C1DataSource は、MVVM 開発を容易にするさまざまな機能を提供します。

これらの重要な点を具体的に説明するために、MVVM の考案者の一人である Josh Smith の有名な記事「Model-View-ViewModel デザインパターンによる WPF アプリケーション」(https://msdn.microsoft.com/ja-jp/magazine/dd419663.aspx)に基づくサンプルコードを提供しています。

このサンプルは、Documents\ComponentOne Samples\Entity Framework DataSource\OrdersDemo\Orders-EF-MVVM フォルダにあります。

改変したサンプルに含まれるファイルは、1つのファイル ViewModels\OrdersViewModel.cs を除いて、いずれも基本的に元のサンプルと同じです(小さな外観の変更を除く)。

このファイルでは、ライブビューを使用して、C1DataSource の方式でビューモデルクラスを作成しています。ビューモデルを構築するために、いくつの再形成関数がモデルデータに適用されているかを確認できます。LINQ だけを使用してすべてが実行されています。このようにビューモデルの構築は容易で、必要なコードも減ります。2つのレイヤのいずれかでデータが変更された場合に、モデルデータと自動的に同期する部分が最も優れた部分です。同期のためのコードは不要です。

ビューモデルクラス自身の作成方法だけを変更したという事実(派生元の基本クラスは 'ViewModelBase' のまま)、さらに Josh Smith が元の例で採用したフレームワークコードを変更していないという事実は、C1DataSource が他のフレームワークと完全に互換性があることを示す例となります。MVVM を使用した作業では、引き続き好みのフレームワークを使用できますが、MVVM 開発をさらに容易にするツールが追加されています。