【问题标题】:Moving an NHibernate-heavy application from single-tenancy to multi-tenancy with multiple schemas将 NHibernate 繁重的应用程序从单租户迁移到具有多个模式的多租户
【发布时间】:2015-05-16 23:06:51
【问题描述】:

我目前有一个单租户应用程序,它使用 fluent-nhibernate 映射将 C# 对象映射到我的 MySQL 数据库中的表。

为了将多租户引入我的应用程序,我正在考虑为每个租户使用一个架构。也就是说,我将拥有具有相同表结构的 n 模式,n 有数百个。

如何安装 NHibernate 以及我的流利映射,以便我可以任意访问正确的架构,而不必复制我的 C# 对象以映射到每个架构?

【问题讨论】:

    标签: c# nhibernate fluent-nhibernate multi-tenant fluent-nhibernate-mapping


    【解决方案1】:

    未测试,但您可以在SessionFactory(技术上在其配置中)设置默认模式名称。该物业是hibernate.default_schema。所以你可以有多个SessionFactory,每个模式一个。显然,您不能在实体级别设置场景名称。

    类似:

    var config = new Configuration();
    ... other configuration ...
    config.Properties["hibernate.default_schema"] = "Foo"; // your schema name
    ISessionFactory sf = config.BuildSessionFactory();
    

    【讨论】:

      猜你喜欢
      • 2013-12-23
      • 2013-03-24
      • 2020-05-08
      • 2011-06-01
      • 2014-02-10
      • 1970-01-01
      • 2019-02-25
      • 2016-06-08
      • 1970-01-01
      相关资源
      最近更新 更多