将数据网格中的行附加到EF的最佳方法

时间:2010-06-17 13:44:25

标签: wpf entity-framework mvvm

使用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();

1 个答案:

答案 0 :(得分:0)

在这种情况下,解决方案应该是“观察”您的ObservableCollection以获取任何新添加内容,并在新实体添加到集合后附加它们。

Matt Casto 是对的,你的ViewModel中不应该有一个Save方法,它应该在你的Model或ModelRepository中,具体取决于你用于数据访问层的模式。