INotifyPropertyChanged with Model and ViewModel



My ViewModel 有一个模型集合。在这方面,我有几个问题。

1 - 如果我只在ViewModel中实现INotifyPropertyChanged接口,当模型中模型的属性被修改时,如何通知模型?我应该同时在模型和视图模型中嵌入接口吗?

2 - 如果我想在ViewModel中使用LINQ,我必须使用List<T>创建模型的集合,无法ObservableCollection,是吗?

3 - 我应该在哪里操作数据库?在视图模型或其他地方?例如,我在视图中添加一个实例,我想将其添加到数据库中,我应该在哪里执行 LINQ 命令将其插入?

谢谢。

  1. 由于数据绑定,您在视图中修改的模型实例将自动更新。希望我正确理解你在问什么)

  2. Linq 可以在实现 IEnumerable、IQueryable 的类型实例上执行。您可以在 ObservableCollection 上使用 Linq

  3. 您应该有一个处理 CRUD 操作的业务层,并根据需要从 ViewModel 调用它。