nhibernate - 即使使用持久的配置优化,Fluent nHibernate 启动仍然很慢

标签 nhibernate sqlite windows-7 fluent-nhibernate

我们正在尝试减少 Fluent nHibernate 启动开销。

我们看到的所有关于这个主题的文章(包括 this one )都提出了以下两个建议:

  • 在第一次运行时保留配置并随后恢复,而不是重新创建它。
  • 确保在应用程序的每个 session 中只创建一次 ISessionFactory。

  • 我们已经完成了这两项工作,在具有 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/

    相关文章:

    tomcat - Struts 1 Tomcat 无法在 Windows 7 中运行

    c# - NHibernate Linq - 如何选择 WHERE IN

    nhibernate - 如何使用 NHibernate QueryOver api 获取行数?

    javascript - 将多个表合并到一个数据库 SQLite

    java - Android ListView不显示数据库信息

    git - 尝试将存储库克隆到其中包含 'aux' 目录的 Windows 7

    c# - EF 与 Nhibernate 合并断开连接的对象图

    nHibernate - 急切地获取已经填充了子列表的列表

    Django CMS 从 SQLite 迁移到 PostgreSQL

    python - 安装 python 启动文件