【发布时间】:2009-06-29 13:38:07
【问题描述】:
我已经为将我的ListView 绑定到一张桌子而苦苦挣扎了一段时间。我已经阅读了各种解决方案,但总是遇到麻烦。
我有 2 个数据库表:Customers 和 Products。对于每个Customer,都有一个Products 列表。
在我的第一次尝试中,我绑定到生成的 Linq-to-SQL 代码。这意味着我立即绑定到Customer.Products。但由于这是System.Data.Linq.EntitySet<Product> 类型,当项目被添加到数据库/从数据库中删除时,我不会收到通知。
所以我通过向Customer 添加一个方法来扩展生成的代码,该方法将返回的System.Data.Linq.EntitySet<Product> 包装在ObservableCollection 中(根据各种博客的建议)
public ObservableCollection<Product> ObservableProducts
{
get
{
return new ObservableCollection<Product>(Products);
}
}
但现在我无法向集合中添加任何内容。当我打电话给ObservableProducts.Add() 时,什么都没有添加..
【问题讨论】: