1

xml と ndbunit を使用してテーブルにテスト用のデータをロードしていますが、計算列を持つテーブルの場合、問題が発生しています。このエラーが発生します

The column "xyz" cannot be modified because it is either a computed column or is the result of a UNION operator.

xsd ファイルで sqladapter の INSERT および UPDATE コマンドを変更しました (計算列を削除しました) が、まだ問題に直面しています。

ありがとう

4

1 に答える 1

1

NDbUnitは、データセットのXSDファイル内にある可能性のあるSQLAdapterに注意を払いません。これらは、NDbUitの動作にはまったく影響しません。実際、データセットXSDファイルからそれらを(安全に)削除することができ、NDbUnitはどちらの方法も気にしません。

代わりに、NDbUnitは、データセットのXSDの構造を、操作するテーブル/列の「スコープ」として使用します。このため、NDbUnitに1つ以上のテーブル/列の処理を「無視」するように指示する適切な方法は、データセットからテーブル/列を完全に削除することです。

あなたの場合、XSDから計算列を削除すると、NDbUnitは計算列を「認識」せず、その列に対して操作(INSERT、UPDATEなど)を実行しません。

つまり、アプローチ(計算列を無視するようにデータセットXSDを編集する)に近づいていますが、データセットスキーマの間違った部分を編集して、計算列を無視するようにNDbUnitに通知しているだけです。

于 2010-06-06T00:50:41.413 に答える