2017-05-15 16 views
0

私はオブジェクトと、オブジェクトのページャ(IEnumerableを継承している)の両方にITypeConverterを実装するtypeconverterクラスを持っています。例: automapper複数のITypeConverter実装を使用した変換

class MyConverter : ITypeConverter<IFoo, FooModel>, 
         ITypeConverter<IPager<IFoo>, IPager<FooModel>> 
    { 
     public FooModel Convert(IFoo source, FooModel destination, ...) {...} 
     public IPager<FooModel> Convert(IPager<IFoo> source, IPager<FooModel> destination, ...) {...} 

    } 

ページャーを指定すると、単一のオブジェクトコンバータの実装が使用されます。

私はAutomapperがコレクションを自動的にマッピングすることは知っていますが、明示的なコレクションマッピングがあればそれを好むべきではないと思いますか?私はおそらく実装を別のクラスに移すことができますが、ページャ実装を使用する別の方法がありますか?

答えて

0

CreateMapとConvertUsingを呼び出す必要があります - これを行いましたか?

cfg.CreateMap<IFoo, FooModel>().ConvertUsing<MyConverter>(); 
cfg.CreateMap<IPager<IFoo>, IPager<FooModel>>().ConvertUsing<MyConverter>(); 

+0

ありがとうございます!はい、私は他のケースが働いています。簡略化した後、私はここで述べたように私が過渡的にマップしようとしていることに気付きました:http://stackoverflow.com/questions/15617250/automapper-mapping-objects-by-linked-association。 –

関連する問題