在客户方面,我将以下对象分配给数据网格:
var customerContext = new RiaTestCustomDomainContext();
CustomerGrid.ItemsSource = customerContext.Customers;
customerContext.Load(customerContext.GetCustomersQuery());
它运作良好,但我想在一个单独的集合中拥有相同的对象列表,并将其用于其他对象群。
当我尝试将customerContext.Customers推入List时,我遇到了错误:
无法隐式转换类型 'System.Windows.Ria.EntitySet' 至 'System.Collections.ObjectModel.ObservableCollection'
这是我尝试编译的代码:
var customerContext = new RiaTestCustomDomainContext();
ObservableCollection<Customer> customers = customerContext.Customers;
您能告诉我如何将数据输入List&lt;&gt;集合?
感谢。
答案 0 :(得分:1)
假设您正在处理后面的代码或附加到您的演示文稿XAML的视图模型。
确保System.Linq在您的使用列表中。
public class XXX
{
private CustomerContext _context;
private List<Customer> _customers;
public XXX()
{
_customers = new List<Customer>();
LoadData();
}
public void LoadData()
{
LoadOperation<Customer> loader = _context.Load<Customer>( _context.GetCustomerQuery() );
loader.Completed += (s,e) =>
{
_customers = (s as LoadOperation<Customer>).Entities.ToList();
};
}
}
请记住,您正在使用CustomerContext启动异步请求。随后(希望)您的客户将返回已完成的活动。