C# 从两个不同的数据库表更新对象

C# 从两个不同的数据库表更新对象,c#,sql,C#,Sql,我在不同服务器上的两个不同SQL Server数据库中有两个表。每个表都有相同数量的行(每个~65000行),它们由一个公共ID列关联。我创建了一个对象,该对象具有从这两个表读取和更新的属性 我从第一个表中读取所有项,创建对象的实例,然后更新它的属性。然后我把它添加到一个列表中。完成后,我从第二个表中读取,以更新对象的其余属性 最好的方法是什么?你有什么建议吗?此时,我在列表中循环,并从第二台服务器获取列表中每个对象的数据。当然,这需要花费时间(约15分钟) 例如,是否可以在其中一台服务器上创建

我在不同服务器上的两个不同SQL Server数据库中有两个表。每个表都有相同数量的行(每个~65000行),它们由一个公共
ID
列关联。我创建了一个对象,该对象具有从这两个表读取和更新的属性

我从第一个表中读取所有项,创建对象的实例,然后更新它的属性。然后我把它添加到一个列表中。完成后,我从第二个表中读取,以更新对象的其余属性

最好的方法是什么?你有什么建议吗?此时,我在列表中循环,并从第二台服务器获取列表中每个对象的数据。当然,这需要花费时间(约15分钟)


例如,是否可以在其中一台服务器上创建临时表?我消耗的时间在我的循环中。从这两台服务器检索数据所花费的时间对我来说没问题。

解决方案是创建链接服务器:


使用此方法,可以从不同的服务器引用数据库,就像它位于同一服务器上一样。这应该允许您执行联接以完成数据集。

最好的方法是使用添加一个服务器作为链接服务器,然后您可以对其中一个服务器运行查询(通过公共字段联接两个表)然后一次完成所有操作。

首先,将两个数据库表填充到两个System.Data.DataTable变量中,并使用Linq查询使用id列将它们连接起来。然后,您可以查看记录,避免对每个记录调用第二个db。@Indikaf我已经首先从服务器获取了数据,很抱歉,我的解释可能不清楚。当我测量用于获取SQL数据的时间时,我发现在我的情况下它是正常的。当我试图通过Linq在集合中查找我的对象时,我必须花费大部分时间根据第二台服务器的数据表设置其属性。链接服务器的方法似乎对我很方便。因为我认为我可以用Linq在SQL查询中所做的做同样的事情。