gpt4 book ai didi

asp.net-mvc - ViewModel对象到EF模型实体的转换在哪里?

转载 作者:行者123 更新时间:2023-12-02 19:48:19 25 4
gpt4 key购买 nike

我目前有一个基于 Entity Framework v4 实体的存储库(已实现 CRUD 和 GET 操作)。我正在为这些实体创建相应的 View 模型。我应该把它们之间的转换/映射放在哪里?在 Controller 中或修改存储库以在其方法中执行映射并返回(或接受) View 模型类型的对象?

我应该这样做

    public ActionResult Index()
{
var person = new PersonRepository().Get();

var personViewModel = new PersonViewModel();
personViewModel.InjectFrom(person)
.InjectFrom<CountryToLookup>(person);

return View(personViewModel);
}

或者这个

     public ActionResult Index()
{
var personViewModel = new PersonRepository().Get(); // returns object of type PersonViewModel

// and move this to repository
// var personViewModel = new PersonViewModel();
// personViewModel.InjectFrom(person)
// .InjectFrom<CountryToLookup>(person);

return View(personViewModel);
}

最佳答案

我会将其提取到 Controller 上的私有(private)方法中,或者如果要在其他地方重用它,则将其放入服务类中。

我认为将其放在存储库中不是一个好主意,除非它不是通用的。它应该是这样,因为在我看来通用存储库很摇滚!

关于asp.net-mvc - ViewModel对象到EF模型实体的转换在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4726924/

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