gpt4 book ai didi

asp.net-mvc - 'CreateMap' 语句应该去哪里?

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

我经常使用 AutoMapper 以模型/ View / View -模型模式将模型(域)对象映射到 ViewModel 对象,然后由我的 View 使用。

这涉及到许多“Mapper.CreateMap”语句,这些语句都必须执行,但在应用程序的生命周期中只能执行一次。

从技术上讲,我应该将它们全部保存在某个静态方法中,该方法从我的 Application_Start() 方法(这是一个 ASP.NET MVC 应用程序)中调用。

然而,将许多不同的映射问题组合在一个中心位置似乎是错误的。

特别是当映射代码变得复杂并涉及格式和其他逻辑时。

有没有更好的方法来组织映射代码,使其与它所关注的 ViewModel 保持接近?

(我想出了一个想法 - 在每个 ViewModel 上都有一个“CreateMappings”方法,在 BaseViewModel 中,在实例化时调用此方法。但是,由于该方法应该在应用程序生命周期中只调用一次,因此需要一些额外的逻辑来缓存已调用 CreateMappings 方法的 ViewModel 类型列表,然后仅在必要时调用它,对于不在该列表中的 ViewModel。)

最佳答案

如果您使用配置文件,则可以将所有“CreateMap”调用放在那里。此外,您可以创建一个包含您的配置的静态 bootstrap 类,并让启动部分调用 bootstrap 。

关于asp.net-mvc - 'CreateMap' 语句应该去哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2891889/

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