0

さて、最初から 2 つの Datatables を持っているとしましょう。

最初のもの (ソース) には、da データベースからのデータが含まれています。2 番目のデータには、データベースからのデータも含まれています。これらの値は、最初のデータベースに更新する必要があります。

残念ながら、それらは同じ構造を持っていません。sourcedatatable には、2 番目にはない追加の列がいくつかあります。

例えば:

First DT: ID | Name | Company | Age
Second DT: Name | Company | Age

FIRST DataTable を 2 番目の DataTable からの値で更新したい場合は、いくつかの違い (および違いのみ) があります。

それを解決する方法についてのアイデアはありますか?非常に大きなデータベースを使用している場合でも、パフォーマンスに関する提案はありますか?

4

2 に答える 2

0

大量のデータを扱っている場合は、可能な限り DB に近い処理を行うことをお勧めします (可能な場合はストアド プロシージャ内で)。

.NET に固執することが必須である場合、これらは、提供されたシナリオの説明を考慮して検討するオプションです。

最初に、データをロードする方法を選択します (データを考慮する順序)。

  1. エンティティを生成します (LINQ to SQL)。
  2. F# 型プロバイダーを使用する
  3. ADO を直接使用する

この後、次のいずれかを行います。

  1. IQueryable ソースで .Select と .Except を使用する、または
  2. http://canlu.blogspot.ro/2009/05/how-to-compare-two-datatables-in-adonet.htmlと同様のことを行います。万が一 ADO.NET を使用していた場合

データの種類、量、ハードウェア、データベースの種類に関する詳細情報を提供しない場合、具体的かつ正確な回答を提供することはかなり困難です。

注: どちらのソリューションを選択しても、異なる構造のものを比較するのは難しいため、列が欠落している列に空の列を追加する追加の手順が必要になることに注意してください。

于 2013-09-20T10:38:48.563 に答える