Entity framework 架构设计-MVC、EF、Rep、UoW、WCF、DI
建筑设计 正在寻找一些关于我正在整合的新架构的建议 要使用的工具:Entity framework 架构设计-MVC、EF、Rep、UoW、WCF、DI,entity-framework,repository,poco,asp.net-mvc-4,unit-of-work,Entity Framework,Repository,Poco,Asp.net Mvc 4,Unit Of Work,建筑设计 正在寻找一些关于我正在整合的新架构的建议 要使用的工具: MVC4(如果你有一个MVC3的例子就足够了) 实体框架4.1(EF) 存储库模式 工作单位 POCO(T4自动生成) WCF(用于CRUD函数。使用具体的服务类检索数据) 依赖注入(Ninject) 模拟(Moq) 任何其他好的工具都让我知道 如果EF证明不值得,公司将使用EF进行ORM,NHibernate将是第二个选择 我到目前为止所做的事情 1) 演示项目(MVC4、服务DI、服务频道设置、视图模型)->引用域项目(
- MVC4(如果你有一个MVC3的例子就足够了)
- 实体框架4.1(EF)
- 存储库模式
- 工作单位
- POCO(T4自动生成)
- WCF(用于CRUD函数。使用具体的服务类检索数据)
- 依赖注入(Ninject)
- 模拟(Moq)
谢谢大家问题1、2和3: 我经常看到只包含三层的架构布局。但是,如果您想保持域项目层和业务项目层的分离和解耦,那么您可以在不影响另一个的情况下更改其中一个,当然您应该将它们保持在单独的程序集中。但是PoCO实体、工作单元和具体服务实现常常与应用程序的域和业务规则紧密相关,因此您可以考虑将这两个层合并为一个程序集。 我会在业务层中将reposiroty接口向上移动,从业务层删除对数据层的引用,并让UI层引用数据层。UI层然后构造函数将具体的报告注入域/业务层。这使您的域/业务层没有对依赖于技术的数据程序集的引用 问题4: 如果性能很重要,我只需要调用具体的服务类 问题5: 我不知道你所说的“复杂验证”是什么意思 问题6:
EF可以为您自动生成POCO,并将它们放置在.edmx以外的另一个程序集中。见文章。通过这种方式,您的POCO仅依赖T4模板,而不与EF硬耦合。检查必填字段的验证采用正确的格式(最小/最大长度、电子邮件地址等)。。。我们称之为简单验证。在尝试添加记录之前,我们还希望验证数据库中是否已经存在记录。无法复制唯一字段,因此会导致错误,但我们希望避免错误,并在尝试添加记录之前运行验证查询以查看该记录是否存在-谢谢你的帮助