2017-10-31 11 views
0

このページを読んだが答えはなかった。 https://github.com/MapsterMapper/Mapster/wiki/Ignoring-membersタイプ名にDtoがある場合にMapster Ignore ID値をマップするには

私がしたいことはソースの種類がSomethingDtoまたはFooDto

このような何かのように命名されたときに、すべてのIdのフィールドを無視することです...

TypeAdapterConfig<TSource, TDestination> 
    .NewConfig() 
    .IgnoreIf((src, dest) => src.GetType.Name.EndsWith("Dto"), dest => dest.Id); 

私はグローバルに設定することができますどのようにもう一つの問題、メソッドの途中でこの新しいメソッドの使用を開始し、メソッドが終了すると元のグローバル設定に戻りますか?私は、例えば、常にIDを無視したくないかもしれません。

答えて

0

私の質問の後半には何かがあります。グローバルコンフィグレーションのクローンを作成し、IDなどの名前のカラムをすべて無視して、そのコンフィグレーションをAdapt <>メソッドに注入します。メソッドが存在すると、グローバルコンフィグレーションの設定に戻ります。

  var mapsterConfig = TypeAdapterConfig.GlobalSettings.Clone(); 
      mapsterConfig.Default.Ignore("Id"); 
      var entity = dto.Adapt<Entity>(mapsterConfig); 
関連する問題