多租户 NHibernate 应用程序,每个租户具有单独的 SQL Server 架构
我正在编写一个新的多租户 WCF RIA 应用程序。我计划为每个租户提供一个具有单独 SQL Server 架构的共享数据库。我想使用 NHibernate 进行对象关系映射。
在映射类中配置 SQL Server 架构没有帮助,因为它是静态的,并且每个租户都需要一组映射类。
是否可以动态配置 ISession 哪个 SQL Server 架构应用于将对象映射到表?
I am writing a new multi-tenant WCF RIA application. I plan to have a shared database with separate SQL Server schema for each tenant. I would like to use NHibernate for object-ralational mapping.
Configuration of SQL Server schema in mapping classes doesn't help because it is static and would need one set of mapping classes for each tenant.
Is it possible to dynamically configure ISession which SQL Server schema should be used for mapping objects to tables?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您必须为每个客户端创建一个单独的 SessionFactory,并相应地更改配置中的
default_schema
属性。You'll have to create a separate SessionFactory for each client, changing the
default_schema
property in the configuration accordingly.如果客户端之间没有链接,那么拥有单独的数据库可能是有意义的。
尤其重要的是,如果客户端 A 说“请恢复”,您不会破坏其他客户端的数据。
If there is no link between clients, then it maybe makes sense to have separate databases.
Not least, if client A says "please restore" you won't destroy other client's data.