C# 使用LINQ将整个数据片段移动到另一个数据库

C# 使用LINQ将整个数据片段移动到另一个数据库,c#,sql-server,linq,entity-framework,C#,Sql Server,Linq,Entity Framework,我有一个包含许多表和约束(但数据不多)的数据库。数据库包含几个单独的实体,这些实体通过ID直接或间接地绑定在一起,如下所示: 我的目标是以一种简单而安全的方式将整个数据片(包括数据库中所有表中的数据)移动到另一个物理数据库。如果表现不太好也没关系。在上面的示例中,我希望通过所有表移动具有特定Id的公司、该公司的所有员工以及与员工相关的所有数据等 我想用一个安全的编译检查方法来实现这一点,因为我想在更改数据库时捕捉错误 数据库中的ID主要是GUI,但也有一些表使用自动递增的ID 注意 “comp

我有一个包含许多表和约束(但数据不多)的数据库。数据库包含几个单独的实体,这些实体通过ID直接或间接地绑定在一起,如下所示:

我的目标是以一种简单而安全的方式将整个数据片(包括数据库中所有表中的数据)移动到另一个物理数据库。如果表现不太好也没关系。在上面的示例中,我希望通过所有表移动具有特定Id的公司、该公司的所有员工以及与员工相关的所有数据等

我想用一个安全的编译检查方法来实现这一点,因为我想在更改数据库时捕捉错误

数据库中的ID主要是GUI,但也有一些表使用自动递增的ID

注意
“companys”表可能包含5行,每个公司一行。我需要从该表中移动一行,以及与该行直接或间接相关的所有数据。

假设要将数据从detailsview(tableName=Jobs)复制到另一个表(tableName=Company)

这只是一个想法,希望能有所帮助

更新:

这对你有帮助吗


如果您移动,您将如何保存它?我的意思是insertI需要使用相同的数据库设计将其保存在不同的数据库中(但可能与其他现有数据一起)。您可以使用的最安全、最简单的方法是导入/导出,或使用visual studio数据库项目,但是通过写你自己的linqqueries@YavgenyP:你能详细说明一下这种方法吗?Visual Studio数据库项目如何实现此目的?@NielsBrinch您可以查看。它解释了hwo如何比较两个数据库,并使用另一个数据库的数据更新其中一个数据库。这是一个很好的特性,但是如果您没有所需的visual studio版本,或者您的两个不同的数据库不能从一台机器上访问,那么它可能没有用处。即使您无法使用此工具,我认为使用sql server的导入/导出工具来移动数据还是比编写c#代码更容易。Sunny,恐怕我没有把我的问题说清楚。我已经重复了一些细节,希望现在更清楚。这种方法似乎不是编译安全的。是的,但这是基本的想法,你可以在那里实现你的检查。在我更改数据库中的列名后,仍然可以编译,但在运行时会失败…让我们来看看
string apply = "INSERT INTO Company (JobTitle,CompanyName) select JobTitle,CompanyName from Jobs";