想象一下,您正在使用 NHibernate 编写一个大型应用程序,并且您想要有 2 个单独的模式(顺便使用 Sql Server)
- Application_System(与系统相关的所有表、配置表、用户表等)
- Application_Data(用户与系统交互时存储/检索的所有实际数据)
现在我一直试图在 NHibernate 中找到一种简单干净的方法来执行此操作,并认为我已经通过使用 Catalog 和 Schema 属性找到了解决方案,例如:
Catalog("Application_System");
Schema("dbo");
Table("SystemSettings")
会为Application_System.dbo.SystemSettings
. 这有点工作,但如果我定义了 2 个目录,那么 hbm2ddl.auto 的创建/删除表功能将停止工作。现在我得出的结论是,我可能正在滥用 Catalog 和 Schema 属性来做一些不适合的事情。但是,我似乎找不到一种简单的方法来实现不涉及一些复杂的脚手架的相同事情。
任何帮助,将不胜感激。我不敢相信 NHibernate 不会开箱即用地支持这一点,我的意思是这是一个相当基本的要求。