C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■89211 / 1階層)  データの移動方法
□投稿者/ 魔界の仮面弁士 (1924回)-(2018/11/08(Thu) 10:44:21)
2018/11/08(Thu) 11:05:00 編集(投稿者)

No89204 (夜叉丸 さん) に返信
> データの移動方法
> dte に dt のデータを移したいので

「移」ということなので、
Copy ではなく、Move したいという意味にもとれますが、
その場合は 全件 Merge 後に、元データを Clear すれば良さそう。


あと気になるとすると、このあたり。

(1) dte と dt で列定義が異なっていた場合にどうするのか

→ dte 側に列が不足していた場合、その列のデータを捨てるのか、
 列を自動追加するのか、それとも例外とするのか
→ dte 側の列が dt よりも多かった場合、
 過剰列のデータを DBNull で補うのか、それとも例外とするのか
→ dt と dte とで列の型や制約に違いがあった場合、どうするのか


(2) 各行(DataRow)の RowState プロパティを維持するのか否か

→ Deleted な行を dte に取り込むか否か
→ Modified な行を、Modified のままとするか、Unchanged にするか
→ Added な行を、Added のままとするか、Unchanged にするか




No89204 (夜叉丸 さん) に返信
> DataTable から派生させた
> class DataTableEx : DataTable を作ったときに

ちなみに、自動実装される型付 DataSet の場合には、
 class DataTableEx : DataTable
として生成される実装と、
 class DataTableEx : TypedTableBase<DataTableExRow>
として生成される実装とがあります。


利用者視点では後者の方が便利ですが(LINQ しやすい)、
テーブルクラスだけでなく行クラスも用意しなければならない分、
手動実装する場合は、ちょっと手間かも。(自動実装なら良いのですが)
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←データの移動方法 /夜叉丸 返信無し
 
上記関連ツリー

データの移動方法 / 夜叉丸 (18/11/07(Wed) 14:44) #89204
Re[1]: データの移動方法 / shu (18/11/07(Wed) 15:16) #89207
Re[1]: データの移動方法 / ムムム (18/11/07(Wed) 15:08) #89206
Re[1]: データの移動方法 / 774RR (18/11/07(Wed) 15:08) #89205
Re[1]: データの移動方法 / 魔界の仮面弁士 (18/11/07(Wed) 15:44) #89208
│└ Re[2]: データの移動方法 / PANG2 (18/11/07(Wed) 15:59) #89209
Re[1]: データの移動方法 / あみい (18/11/08(Thu) 10:23) #89210
データの移動方法 / 魔界の仮面弁士 (18/11/08(Thu) 10:44) #89211 ←Now
Re[1]: データの移動方法 / にゃるら (18/11/09(Fri) 09:40) #89228

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信