2

我们有一个 SQL 2005/2008 数据库,它有一个带有计算列的表。我们在 NHibernate 中使用计算列作为鉴别器,因此将它放在数据库中被证明是非常有用的。

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

我的问题还有其他解决方案吗?如果有更好的解决方案,我可以完全访问数据库并且可以修改它。我看到这篇文章建议使用视图而不是计算列,这是最好的选择吗?

4

1 回答 1

1

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

于 2009-09-12T00:26:30.697 回答