gpt4 book ai didi

c# - ASP.NET MVC 实体、DTO、业务对象、ViewModels?我该如何管理?

转载 作者:太空狗 更新时间:2023-10-29 17:56:12 32 4
gpt4 key购买 nike

我正忙于新 MVC 应用程序的架构,但我对如何管理不同类型的对象感到非常困惑。混淆是关于实体、业务对象和 View 模型之间的关系。我将用一个例子来描述我的困惑:

我已经使用不同的项目设置了我的 Web 应用程序:MVC 前端、BLL、DAL、通用事物等。

假设我有一个包含自行车列表的 View 。我想显示自行车的详细信息,例如颜色、尺寸、制造商。但在我的数据库中,Bike 和 Manufacturer 是两个不同的表,因此在我的 Entity Framework 上下文中,它们也是两个不同的类。

所以我有自行车和制造商这两个实体。但在我的业务需求中,我认为它们需要是一个单一的对象,我可以在业务逻辑中操作或使用它。然后是我的 View ,它需要一个 (View)Model。这也应该是具有来自不同表的属性的组合 ViewModel。

我该如何处理?我是否需要从我的 DAL 中获取 Bike 和 Manufacturer 对象,并在我的 BLL 中从中创建一个业务对象,在完成一些业务逻辑之后,我是否应该在我的 Controller 中从中创建一个 ViewModel?或者我的 DAL 是否需要返回组合的业务对象?或者我可以将实体对象用作业务类吗?或者我也可以将我的业务对象用作 ViewModel 吗?

我希望我的问题很清楚,并且任何人都可以给我一个很好的建议,告诉我需要哪个对象,以及如何、在何处和何时创建不同类型的对象,以及这些类应该放在哪一层...

最佳答案

您的问题的答案很简单。您的不同模型层之间没有NO 关系。它们是完全隔离的,并且不相互引用。一点也不。因此,没有什么可混淆的。

您在层的不同部分中有代码映射两个层 UI-> 业务和业务-> 数据,但这应该是它们之间任何交互的范围。

关于c# - ASP.NET MVC 实体、DTO、业务对象、ViewModels?我该如何管理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23903935/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com