晚上好,
我正在寻找帮助我了解如何将 Silverlight DataForm 与使用 WCF Ria 服务的 ViewModel 结合的人。我想要完成的是使用 DataForm 管理我的实体集合并利用其内置的导航、添加、编辑和删除功能。但是,我无法将其与我的 ViewModel 和 Ria 服务绑定在一起。
据我了解,DataForm 需要绑定到ObservableCollection<T>
. 但是,当我从 WCF Ria 服务上下文中查询时。IE。
_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 与上下文“断开连接”,因此实际上并未从上下文中添加或删除实体?
任何帮助是极大的赞赏。
问候,