簡體   English   中英

使用 automapper 將枚舉映射到枚舉

[英]Map enum to enum with automapper

我有兩個枚舉:一個是僅后端,第二個是版本化並公開給 API 使用者。

后端版本:

   public enum SomeEnum  
   {
          One,
          Two,
          Three
   }

API公開版本

   public enum SomeEnum 
   {
          One,
          Two
   }

我正在使用 Automapper 5.2.0 將后端枚舉映射到 api 枚舉,如下所示:

     CreateMap<SomeEnum, CommonEnums.SomeEnum>()

我現在需要忽略 SomeEnum.Three。 所以我改變了代碼,如:

    CreateMap<SomeEnum, CommonEnums.SomeEnum>()
          .ForMember(t => t == CommonEnums.SomeEnum.Three, p => p.Ignore());

現在我有錯誤:

AutoMapper.AutoMapperConfigurationException :成員的自定義配置僅支持類型上的頂級個人成員。

為什么? 我該如何解決?

我有兩個枚舉:一個是僅后端的,第二個是版本控制的,並向API使用者公開。

后端版本:

   public enum SomeEnum  
   {
          One,
          Two,
          Three
   }

API公開版本

   public enum SomeEnum 
   {
          One,
          Two
   }

我正在使用Automapper 5.2.0將后端枚舉映射到api枚舉,如下所示:

     CreateMap<SomeEnum, CommonEnums.SomeEnum>()

我需要忽略SomeEnum.Three。 所以我將代碼更改為:

    CreateMap<SomeEnum, CommonEnums.SomeEnum>()
          .ForMember(t => t == CommonEnums.SomeEnum.Three, p => p.Ignore());

現在我有錯誤:

AutoMapper.AutoMapperConfigurationException:僅類型的頂級單個成員支持成員的自定義配置。

為什么? 我該如何解決?

所以基本上你可以簡單地忽略那個新值和映射就可以了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM