sách gpt4 ai đã đi

ASP.NET MVC + EF 4.1 分层、模型、 View 模型

In lại 作者:行者123 更新时间:2023-12-02 17:47:39 27 4
mua khóa gpt4 Nike

我读了几篇与 ASP.NET 分层架构相关的文章和问题,但是读得太多后我有点困惑。 UI 层是在 ASP.NET MVC 中开发的,对于数据访问,我在项目中使用 EF。

我想通过一个例子来描述我的问题。假设我有一个简单的博客引擎,具有以下实体:帖子、评论、类别、用户。我使用 EF 数据库方法并在模型层中生成 POCO-s 到数据模型类库,生成的数据上下文和 EDMX 转到数据访问库。

在此之上我有一个业务层。例如,它负责返回带有评论的博客条目。在我的 UI 层中,我使用 ViewModel 类,因为为了显示条目,我需要一个 Post 实体和同一 View 上带有用户名的评论列表。

现在我的问题是:我的 View 不需要用户实体的所有详细信息,只需要名称即可显示帖子。问题是我应该在哪里进行 ViewModel 和 Model 类之间的映射?业务层应该这样做吗?或者我应该返回包含所有详细信息的实体并让 UI 处理映射?业务层是否应该包含 ViewModel 作为类库?

最好的方法是什么?

1 Câu trả lời

The question is where should I do the mapping between my ViewModels and Model classes?

最好是在单独的映射层中。如果您使用AutoMapper映射可以在 ASP.NET MVC 项目中的单独文件中声明。

Should the business layer do this?

绝对不是。业务层不了解任何 View 模型。

Should the business layer contain ViewModels as a class library?

没有。 UI 层(ASP.NET MVC 应用程序)是唯一了解 View 模型的层。如果您愿意,它们当然可以位于单独的类库中,但只有 UI 层才应该引用它。 View 模型与 View 紧密耦合。 View 是 UI 的一部分。

关于ASP.NET MVC + EF 4.1 分层、模型、 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7951941/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com