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 '忽略' 处理一个或多个表/列的正确方法是从数据集中完全删除表/列。

在您的情况下,如果您从 XSD 中删除计算列,则 NDbUnit 将不会“知道”计算列并且不会对其执行任何操作(插入、更新等)

简而言之,您已接近您的方法(编辑数据集 XSD 以忽略计算列),但您只是编辑了数据集架构的错误部分以通知 NDbUnit 忽略您的计算列。

于 2010-06-06T00:50:41.413 回答