使用C#和Ado.net

时间:2016-06-26 07:57:04

标签: c# sql-server entity-framework ado.net

我正在尝试开发一个软件,它将两个数据库作为输入,比较表格并显示表格之间的差异。

这就是我的想法和发展。

1)选择计算机上安装的所有服务器。 2)根据所选服务器,它列出所有已安装的数据库。 3)根据数据库,此方法返回数据库中的所有表名称。 4)现在我有两个数据库的信息和两个数据库中所有表的名称。我将两个数据库填充到两个DataSet对象(源,目标)。 5)现在,我正在迭代两个DataSet,比较每个表(对应于索引)。并记录两个数据表不相同的索引。

我的问题是 - 1)取两个数据库作为输入。 2)显示GUI中的差异(表数据)。并更新源和/或目标数据库。

差异: 显示/突出显示sourceDB中但不存在于destinationDB中的所有表记录,并且用户必须能够单独选择这些记录,然后应用程序应将这些记录插入到destinationDB中。

显示/突出显示destinationDb中但不包含在sourceDb中的所有表记录,用户必须能够单独选择这些记录并从目标中删除它们。

我可以使用Entity Framework做同样的事情吗?

2 个答案:

答案 0 :(得分:0)

不确定在您的应用程序代码中执行所有操作的重点是什么。这看起来像是DB的责任,如果你在那里卸载它将是最好的。我的意思是,您应该编写SQL查询来完成所有这些并获取数据,然后您可以在应用程序中显示该数据。

以下是一个示例SQL Server : Script to Find and Create Missing Tables for Database Sychronization

答案 1 :(得分:0)

实体框架的“正确”使用是在已知模型上工作,在您的情况下,您不是 ADO.Net是正确的选择。