有winform网格用于编辑数据。填充数据(简化代码):
var regions = context.RegionViews;
var bindinglist = new BindingList<RegionView>(regions.ToList());
gridControl.DataSource = (IBindingList) bindinglist;
使用相同的上下文保存数据:
context.SaveChanges();
但只保存编辑更改,而不是添加和删除行。
答案 0 :(得分:2)
您正在从新列表(使用BindingList<RegionView>
创建的列表)中创建regions.ToList()
,以便保存对记录的更改(因为列表中的引用也指向{{1已包含的对象),但原始DbSet
不知道正在添加或删除项目(因为它们是从该列表中添加/删除的,而不是来自DbSet
)
不要直接创建新的DbSet
,而是尝试将BindingList
设置为DataSource
的本地可观察列表(我假设DbSet
为{} {1}})
context.RegionViews