我们正在尝试减少 Fluent nHibernate 启动开销。
我们看到的所有关于这个主题的文章(包括 this one )都提出了以下两个建议:
我们已经完成了这两项工作,在具有 SQLite 后端的双进程 2.8Ghz 64 位 Windows 7 系统上,创建 session 工厂的 Fluent nHibernate 启动时间现在约为 550 毫秒。目前只有四个实体,平均每个实体大约有六个属性。
这还是太高了。我们希望将这个时间减少到 20 毫秒或更短(这样即使在慢速系统上也将小于 100 毫秒)。我们有可能做到这一点吗?
任何对 Fluent nHibernate 在启动过程中花费这么长时间的洞察力也将有所帮助。
最佳答案
您可以使用管理 SessionFactory 的 WCF 服务。由于这与您的应用程序无关,因此启动时间根本不会受到创建 SessionFactory 的影响。当然,这确实给等式带来了许多其他复杂性(其中之一是延迟加载),但它确实解决了您的启动时间问题,因为在您启动应用程序时服务已经在运行。
关于nhibernate - 即使使用持久的配置优化,Fluent nHibernate 启动仍然很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5693101/