我正在使用xml和ndbunit.But为表中的测试加载数据,对于具有计算列的表,我遇到了问题。我收到此错误
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命令(删除了计算列),但仍面临问题。
感谢
答案 0 :(得分:1)
NDbUnit不关注数据集的XSD文件中可能存在的SQLAdapter。他们在NDbUit的运作方式上根本没有任何作用。实际上,您可以(安全地)从数据集XSD文件中删除它们,NDbUnit也不会在意任何一种方式。
相反,NDbUnit使用数据集的XSD的结构作为其“范围”:要操作的表/列。因此,告诉NDbUnit“忽略”处理一个或多个表/列的正确方法是从数据集中完全删除表/列。
在您的情况下,如果从XSD中删除计算列,则NDbUnit将不会“知道”计算列,并且不会对其执行任何操作(INSERT,UPDATE等)
简而言之,您接近于您的方法(编辑数据集XSD以忽略计算列),但您只是编辑数据集模式的错误部分,以通知NDbUnit忽略您的计算列。