我需要将一个数据表与 DataTable (这是 SQL 表的一个修改版本) 中的数据同步。我想仅更新/删除/插入不同之处,因此需要比较两者并找到查询值 (在我的情况下是 ID) 和更改类型。是否有一种有效的方法,例如通过某些预设方法?我希望尽可能少地访问。
我需要将一个数据表与 DataTable (这是 SQL 表的一个修改版本) 中的数据同步。我想仅更新/删除/插入不同之处,因此需要比较两者并找到查询值 (在我的情况下是 ID) 和更改类型。是否有一种有效的方法,例如通过某些预设方法?我希望尽可能少地访问。
DataTable updateDt = originalDt.GetChanges();
dataAdapter.Update(updateDt);
我无法推荐一个具体的实用策略,让你自己编写代码,但我建议你查看Entity Framework提供的服务(例如SaveChanges、ObjectContext、向ObjectContext添加/删除实体、Include关键字、相关实体的导航和关联属性等),以估计你需要解决的问题的范围和复杂性。
SQL Server复制框架也可以给你一些提示(合并冲突解决策略)。