我们有一个sql 2005/2008数据库,其中有一个带有计算列的表。我们在nhibernate中使用computed列作为鉴别器,因此将它放在数据库中被证明是非常有用的。
为了获得更快的集成测试的好处,我希望能够对内存数据库(如sqlite或sql ce)运行我们的集成测试。但我认为这两个都不支持计算列。
我的问题还有别的解决办法吗?我可以完全访问数据库,如果有更好的解决方案,我可以修改它。我见过建议使用视图而不是计算列的this post,这是最好的选择吗?

最佳答案

我所做的是在从sqlce加载表时将computed列添加到datatable中。我将计算数据列的定义存储在数据库中存储的“configuration”表中。我能够进行依赖于表链的复杂计算,其中每个表执行一个更复杂函数的更简单函数。(链中的最后一个表包含结果)我使用了sqlce,因为一个五行的表包含1500万行。对于ADO.NET的内存数据集,数据太多。(我要求在发布到服务器之前使用基于本地客户端的计算。)

关于database - 是否有任何支持计算列的内存数据库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1412003/

10-11 04:49
查看更多