我有一个简单的ASP.NET MVC + OpenID + NHibernate 应用程序(在MSSQL Server DB之上)。该应用程序严格来说是单租户,仅支持多个用户,只有2个角色( Admin 和 User )。
我想将此应用转换为多租户应用。我的要求是有限的:我只需要介绍帐户的概念,每个帐户都有自己的一组用户,其行为与原始的非多租户应用程序完全相同。帐户之间没有互动。
以最简单的方式执行此迁移的最佳做法是什么?特别是,我可以使用 Account_id 字段手动更新所有实体和存储库,并上传逻辑。但是,我想知道是否有更聪明的方法可以某种方式抽象这方面。
Ps:应用程序非常轻,我不希望为每个帐户引入一个新的数据库实例。
答案 0 :(得分:3)
我能想到的最好的事情可能就是拥抱NHibernate的Filter功能。它允许您轻松地对正在运行的查询启用过滤器,您可以选择在设置为多租户的表上启用它们