2 つのデータ テーブルがあり、2 つのテーブルを結合して 2 つの列の違いを見つけたいのですが、null を渡すことができないため、CopyToDataTable メソッドで null が返され続け、エラーが発生します。このコードの直前に、TestOutput テーブルと ExpectedOutput テーブルにまったく同じデータがあることを確認しました。これが私のコードです:
IEnumerable<DataRow> diff =
(from datarows1 in TestOutput.AsEnumerable()
join datarows2 in ExpectedOutput.AsEnumerable()
on datarows1.Field<String>("external_id") equals datarows2.Field<String>("external_id")
select new
{
KeyId = datarows1.Field<String>("external_id"),
Difference = datarows1.Field<Decimal>("quantity") - datarows2.Field<Decimal>("quantity")
}) as IEnumerable<DataRow>;
DataTable difference = diff.CopyToDataTable<DataRow>();
エラー メッセージ @ 最後の行:
ArgumentNullException が処理されませんでした - 値を null にすることはできません。パラメータ名:ソース