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

Asp.Net MVC project with n-tier architecture

我想 asp.net mvc 项目使用 n 层架构。我对那个问题感到困惑;

我有 4 个等级,分别是 BLLDAL实体WebUIWebUI层是一个asp.netmvc项目。我将数据模型添加到 entities 层中。在 DAL 中,我使用 entity framework 创建了一些关于 crud opparations 的 类。最后,我将这个 类 作为 BLL 上的存储库。 BLL 知道 DAL实体层,DAL知道实体层和WebUI只有知道BLL。在 WebUI 中,我可以访问 BLL 中的存储库。 但是这个存储库的 return 值是实体 类。我必须提供从 entitiesWebUI 的参考等级。我不希望 WebUI 直接 访问数据库。它应该使用 BLL.

中的存储库访问数据库

我该怎么办?我想做正确的事。我有什么问题吗 架构?

感谢您帮忙解答。

您可以有另一个只有 BLLEntities 模型的项目。

BLL 总是必须将 BLLEntities 映射到 DALEntities,并将 DALEntities 映射到 BLLEnttiies。

您可以为此使用 AutoMapper。

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