我正在使用 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 命令(删除了计算列),但仍然面临这个问题。
谢谢
我正在使用 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 命令(删除了计算列),但仍然面临这个问题。
谢谢
NDbUnit 不注意可能在数据集的 XSD 文件中的 SQLAdapter。它们在 NDbUit 的运作方式中根本没有任何作用。事实上,您可以(安全地)从数据集 XSD 文件中删除它们,而 NDbUnit 不会在意任何一种方式。
相反,NDbUnit 使用数据集的 XSD结构作为其“范围”:要对哪些表/列进行操作。因此,告诉 NDbUnit '忽略' 处理一个或多个表/列的正确方法是从数据集中完全删除表/列。
在您的情况下,如果您从 XSD 中删除计算列,则 NDbUnit 将不会“知道”计算列并且不会对其执行任何操作(插入、更新等)
简而言之,您已接近您的方法(编辑数据集 XSD 以忽略计算列),但您只是编辑了数据集架构的错误部分以通知 NDbUnit 忽略您的计算列。