1

由于应用程序中的性能问题,我们在我的一个项目中使用内存方法,其中我们以通用集合的形式将所有表加载到 RAM 中(使用 nhibernate)。

问题是,当我们使用简单的 linq to sql 方法时,测试和 QA 团队可以轻松地使用他们正在查看的页面的 sql 配置文件获取 sql 查询。

但是使用新方法(内存中),我们一次性加载集合中的所有数据,然后使用 linq 从该集合中获取数据,因此测试和 QA 团队无法获取 sql 查询来验证业务逻辑和验证错误。

请建议任何可以在这种情况下提供帮助的解决方案,我认为不可能将 sql 从 linq 获取到对象(因为所有数据都已经在收集中)。请建议任何可以帮助我的解决方案/方法/工具,以生成针对集合或任何其他好的解决方案运行的那些 linq 的 sql。

注意:我知道从 linq to sql 中获取 sql 是不可能的,我正在寻找可以帮助我的 QA 和测试团队验证查询/业务逻辑的建议(就像他们之前通过捕获 sql 所做的那样)。如果可能的话,将 linq 查询记录为字符串,可以进一步用于运行/分析。

4

1 回答 1

2

在这种情况下运行的唯一 SQL 语句是将数据加载到内存中的初始 SELECT 查询。完成这些操作后,您将不再运行“查询”,而是执行 .NET Framework 调用。

鉴于您已经从根本上改变了应用程序的架构,您需要将这一点传达给测试和 QA 团队——他们将无法像以前那样“看到”应用程序现在在后台做什么。如果这种“深入研究”能力是您的测试团队的要求,那么您的架构可能需要进一步修改。

于 2012-12-26T18:43:02.447 回答