Asp.net MVC 3和NHibernate架构

3
我设置了以下结构的解决方案:
  • Project.Core

    • Domain

    • Mappings

    • Repositories

  • Project.Web

    • Views

    • Models

    • Contollers

Project.Web是asp.net MVC 3模板。我想知道如果我使用MVC和NHibernate并且我希望其他web应用程序能够利用Project.Core库,最好的架构是什么。

Domain和Model似乎是同一件事吗?

如果我想使用Domain而不是Model,我应该如何修改asp.net mvc3项目以接受此内容?

谢谢

1个回答

1

是的,在 Project.Core 中的您的领域对象与模型相同。只需删除 Project.Web 中的 Models 文件夹,并从 Project.Web 到 Project.Core 创建项目引用。由于 Project.Core 只是一个类库项目,包含您的领域模型、仓库和映射*,您可以从 Project.Web、控制台应用程序、Web 服务或任何其他代码中使用这些类。


谢谢James。我很喜欢你最近关于NHibernate 3的演讲。 - Mike
3
在MVC中,Model 应该是 View 的数据上下文,我认为它不应与领域对象混合在一起。 - Eatdoku
我更喜欢称之为ViewModel或PresentationModel,而不是模型,这样可以区分它们和领域对象。 - Rushino
如果我们将模型放在 project.core 中,就无法使用数据注释(例如 [Required])了,是这样吗?还是有其他方法可以实现呢? - Thunder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接