具有n层架构的Asp.Net MVC项目

时间:2017-08-24 05:36:11

标签: c# asp.net-mvc entity-framework n-tier-architecture

我想使用n层架构的asp.net mvc项目。我在这个问题上感到困惑;

我有4层 BLL DAL 实体 WebUI WebUI 层是一个asp.net mvc项目。我将数据模型添加到 实体 层。在 DAL 中,我使用实体框架创建了一些关于crud opparations的类。最后,我将这些类作为 BLL 上的存储库提供服务。 BLL 知道 DAL 实体 层,< strong> DAL 知道 entites 层和 WebUI 只有知道 BLL 。在 WebUI 中,我可以访问存储在 BLL 中的存储库。 但是这个存储库&#39;返回值是实体类。我必须提供 实体 WebUI 层的参考。我不希望 WebUI 直接访问数据库 。它应该使用 BLL 中的存储库访问数据库。

我该怎么办?我想做正确的事。我的错了 架构?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您可以拥有另一个仅包含BLLEntities模型的项目。

BLL将始终将BLLEntities映射到DALEntities和DALEntities到BLLEnttiies。

您可以使用AutoMapper。

BLL以上的任何层都应该处理BLL实体而不是DALEntities。