AutoMapper - 如何将一些 dto 对象映射到一个域对象?

发布于 2024-12-03 06:15:15 字数 683 浏览 1 评论 0原文

我在使用 AutoMapper 将一些 DTO 对象(具有继承的抽象对象)映射到一个域对象时遇到问题。

这是我的对象:

  • public class Product
  • public abstract class ABaseProductDTO
  • public class MinimalProductDTO : ABaseProductDTO
  • public class BasicProductDTO : MinimalProductDTO
  • public class MaximalProductDTO : BasicProductDTO
  • public class NodeDTO { ABaseProductDTO }
  • public class Node { Product }

该 Node 包含一个 Product ,因此 NodeDTO 包含一个其中的 ABaseProductDTO 我想根据枚举映射到特定的 dto 产品。

我知道如果每个 DTO 都有匹配项,我可以使用“包含”,但情况并非如此。

所以我的问题是如何将 3 个 dto 对象映射到一个域对象中? (“MinimalProductDTO”、“BasicProductDTO”、“MaximalProductDTO”进入“产品”)???

谢谢

I am having an issue using AutoMapper to map some DTO objects (abstract object with inheritance) to one domain object.

Here are my objects:

  • public class Product
  • public abstract class ABaseProductDTO
  • public class MinimalProductDTO : ABaseProductDTO
  • public class BasicProductDTO : MinimalProductDTO
  • public class MaximalProductDTO : BasicProductDTO
  • public class NodeDTO { ABaseProductDTO }
  • public class Node { Product }

The Node contains a Product and accordingly the NodeDTO contains an ABaseProductDTO in it which I want to map to a specific dto product according to an enum.

I know that if there's a match for each DTO I can use 'Include' but this is not the case..

So my question is how do I map 3 dto objects into one domain object? ('MinimalProductDTO', 'BasicProductDTO', 'MaximalProductDTO' into 'Product')???

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

神仙妹妹 2024-12-10 06:15:15

我不确定是否有这样的动态映射。您可能必须检查 BASE 对象的 ENUM,然后调用 NodeDTO 的正确映射。不优雅,但我会工作。

I'm not sure if there is dynamic mappings like that. You might have to check the ENUM of the BASE object and then call the correct mapping for the NodeDTO. Not elegant but I would work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文