gpt4 book ai didi

c# - Asp.net MVC 中的数据传输对象

转载 作者:行者123 更新时间:2023-11-30 22:29:52 32 4
gpt4 key购买 nike

我被分配到一个站点工作,该站点使用 MVC 作为表示层并与 WCF 服务通信。两者使用 DTO 来回传递信息。

目前,DTO 用于整个 MVC 部分(用户、地址、帐户信息)。例如,MVC 中的 User 类有一个 PersonDTO,其中包含有关用户的所有信息以及特定于 Web 的方法(登录):

public class User
{
public PersonDTO Person { get; set; }
public void Login { /* Login */ }
}

所以要获取用户的名字,您可以这样做:

var CurrentUser = new User();
var firstName = CurrentUser.Person.First;

有更好的方法吗? (好像应该是CurrentUser.First)

除了罗嗦之外,这样做还有什么陷阱吗?

DTO 是否意味着渗入 MVC 中的 Controller 操作?

最佳答案

只有在有附加值的情况下,我才会将我的 DTO 包装在一个额外的“ViewModel”类中。如果您的 View 包含为 View 提供动力所需的所有数据,那么我认为将您的 View 直接绑定(bind)到您的 DTO 没有问题。“viewModel”何时有意义的一个示例是当您有其他 UI 问题时,例如将多个字段合并为一个等。

关于c# - Asp.net MVC 中的数据传输对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9970966/

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