是否有任何支持计算列的内存数据库?

问题描述:

我们有一个带有计算列的表格的SQL 2005/2008数据库。我们使用计算列作为NHibernate中的鉴别器,因此将它在数据库中证明是非常有用的。是否有任何支持计算列的内存数据库?

为了获得更快集成测试的好处,我希望能够针对内存数据库(如SQLite或SQL CE)运行我们的集成测试。但我不认为其中任何一个都支持计算列。

有没有其他解决方案来解决我的问题?如果有更好的解决方案,我可以完全访问数据库并修改它。我见过this post,建议使用视图而不是计算列,这是最好的选择吗?

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