しかしフィールド数が多いため
1つ1つ入れていく方法ではコード量が多くなり
NullチェックのIf文もいちいちかませて
同じコードをずらっと並べて
代入文の左右やIf文のフィールドプロパティが一致してるかチェックして
フィールドコピー文の漏れがないか走らせてチェックするという作業が大変なのです。
実際には以下のコードになります。
if(ADataRow.IsAAANull())
BDataRow.SetAAANull();
else
BDataRow.AAA = ADataRow.AAA;
フィールドプロパティの繰り返しが多く、どこかを間違えてしまいやすいです。
フィールド名がコンパイル対象にならないというのであれば
フィールド名を型付データセットのstaticフィールドにして欲しいです。