0

我有一个 nHibernate 项目,其中所有表都已映射。我想消除大部分映射 - 并使用通过 sql 来消除表。对于剩余的映射,我想继续使用 nHibernate。实现这一目标的最佳方法是什么?

4

1 回答 1

0

在这种情况下,我会让它们映射以保证(尽可能)没有现有的代码中断。

然后,我会使用像NHProf这样的工具来分析应用程序以查看瓶颈所在的位置。这将使您深入了解您的性能瓶颈所在。

然后,您可以使用原始 SQL 覆盖现有代码以更接近金属。但是,我仍然建议您查看仍然可以执行 SQL 查询并将结果映射到强类型列表的微观结构,例如DapperMassive 。

如果您的问题在于插入,那么 a) 使用无状态会话或使用其他工具,如SQL Bulk copy

如果你做对了,你可能不需要更改任何模型类,这意味着你可能会破坏更少的代码。然而被警告急切/延迟加载问题可能会开始出现。

于 2013-09-02T05:52:14.470 回答