我正在使用MVC、Ninject和NHibernate搭建一个n层应用程序(这是我第一次使用这些技术)。为了清晰明了起见,这些层分别是“数据”层、“服务”层和“Web”层(都是独立的项目)。
在MVC中,您的模型位于“Models”文件夹中。似乎有必要将我的模型放在这里以创建强类型视图,并通常遵循MVC的哲学。
但是,在NHibernate中,我还需要我的模型在“数据”层中,以便进行映射,并且NHibernate可以实例化实际对象以返回到服务层。
在项目间复制这些类不符合DRY原则,并且将它们抽象成自己的库似乎与MVC不太兼容(无论是在实践还是哲学上都不行)。
有什么想法吗?您如何构建O / RM对象和MVC模型的结构?