gpt4 book ai didi

automapper - 我们真的需要Automapper吗?

转载 作者:行者123 更新时间:2023-12-03 09:36:01 24 4
gpt4 key购买 nike

我正在学习 AutoMapper 并了解它在对象到对象映射方面的用途。但是现在 EFCodeFirst、dapper 和 Petpoco 所有很棒的东西都在那里,这将使我们能够直接将我们的 POCO 与数据库一起使用?

那么谁能告诉我为什么我们仍然需要自动映射器?

提前致谢

最好的问候,贾尔佩什

最佳答案

我通常使用 Automapper 来映射域模型以查看 mdoel。如果进行 DDD,通常建议在 View 中使用域模型不是一个好主意 - View 通常对域有不同的关注点。

例如,您的域中可能有一个用户模型:

public class User
{
public int Id {get;set;}
public string EmailAddress {get;set;}
public string FirstName {get;set;}
public string Surname {get;set;}
public string HashedPassword {get;set;}
public string EyeColour {get;set;}
}

您可能有一个用户摘要页面,其中显示了这些项目的一个子集:

public class UserSummary
{
public string EmailAddress {get;set;}
public string Surname {get;set;}
}

您可以在 View 上使用 UserSummary 类,但您可能会从数据库中获取域用户模型。在这种情况下,您可以使用 Automapper 将 Domain.User 映射到 ViewModel.UserSummary

var user = _repository.Get(1);
var viewmodel = Automapper.Map<Domain.User, ViewModel.UserSummary>(user);
return View(viewmodel);

关于automapper - 我们真的需要Automapper吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7306956/

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