こんばんは、
Silverlight DataForm を WCF Ria Services を使用する ViewModel に組み込む方法を理解するのを手伝ってくれる人を探しています。私が達成しようとしているのは、DataForm を使用してエンティティのコレクションを管理し、組み込みのナビゲーション、追加、編集、および削除機能を利用することです。ただし、ViewModel と Ria Services をすべて結び付けるのに問題があります。
私の理解では、DataForm は にバインドする必要がありますObservableCollection<T>
。ただし、WCF Ria Service コンテキストからクエリを実行すると。すなわち。
_context.Load(_context.GetAllCustomersQuery(), loadCustomersQueryCallback, true);
コールバック メソッドで IQueryable を受け取りますが、これをキャストする必要がありObservableCollection<T>
ますか?
Customers = new ObservableCollection<Customer>(_context.Customers);
顧客は私のViewModelのプロパティです...
public ObservableCollection<Customer> Customers
{
get { return _customers; }
set
{
if (_customers != value)
{
_customers = value;
OnPropertyChanged("Customers");
}
}
}
DataForm は ViewModel の Customers プロパティにバインドされており、データソースからデータを表示できます。エンティティ間を移動できます。既存のエンティティを編集して変更をデータベースに保持できますが、エンティティを追加または削除することはできません。 .
Customers プロパティで行っていることは正しいですか? 新しい ObservableCollection にキャストしてコンテキストから「切断」したため、コンテキストからエンティティを実際に追加または削除していませんか?
どんな助けでも大歓迎です。
よろしく、