使用MVVM和EF ...我有一个数据网格绑定到视图模型(使用ObservableCollection)。视图模型有一个save命令,它只调用Data Context的SaveChanges命令。但是,当用户向数据网格添加新行时,将分离新实体。是否有任何简单的方法可以在创建时自动附加它。目前,我必须在我的View模型的Save命令中执行此操作,它看起来有点笨重:
foreach (var dataItem in _DataList) // where _DataList is the ObservableCollection
{
if (dataItem.EntityState == EntityState.Detached)
{
_DataContext.AddToTestTables(dataItem);
}
}
_DataContext.SaveChanges();
答案 0 :(得分:0)
在这种情况下,解决方案应该是“观察”您的ObservableCollection以获取任何新添加内容,并在新实体添加到集合后附加它们。
Matt Casto 是对的,你的ViewModel中不应该有一个Save方法,它应该在你的Model或ModelRepository中,具体取决于你用于数据访问层的模式。