AutoMapper Custom Type Converter funktioniert nicht

8

Ich benutze Troy Goodes PagedList , um Auslagerungsinformationen in meinem WebApi bereitzustellen. Sein Paket gibt eine IPagedList zurück, die IEnumerable implementiert, aber auch benutzerdefinierte Eigenschaften wie IsLastPage, PageNumber, PageCount usw. enthält.

Wenn Sie versuchen, diese Klasse von einer WebApi-Controller-Methode (z. B. GET) zurückzugeben, wird Enumerable serialisiert, die benutzerdefinierten Eigenschaften jedoch nicht. Also, ich dachte, ich würde AutoMapper verwenden und einen benutzerdefinierten Typkonverter schreiben, um in eine Klasse wie diese zu konvertieren:

%Vor%

Da ich das Enumerable in eine eindeutige Eigenschaft verschiebe, wird es durch die Serialisierung perfekt gehandhabt. Also setzte ich mich und schrieb einen benutzerdefinierten Typkonverter wie folgt:

%Vor%

Und dann richte es in meiner Konfiguration so ein:

%Vor%

Aber wenn ich versuche, es so zu nennen:

%Vor%

Ich bekomme diesen Fehler:

  

Fehlende Typzuordnungskonfiguration oder nicht unterstützte Zuordnung.

     

Zuordnungsarten: IPagedList 1 -> PagedViewModel 1   PagedList.IPagedList 1[[Provision.DomainObjects.Department, Provision.DomainObjects, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] -> Provision.DomainObjects.PagedViewModel 1 [[Provision.DomainObjects.Abteilung,   Provision.DomainObjects, Version = 1.0.0.0, Kultur = neutral,   PublicKeyToken = null]]

     

Zielpfad: PagedViewModel'1

     

Quellwert:   PagedList.StaticPagedList'1 [Provision.DomainObjects.Abteilung]

Wie kann ich das schaffen?

    
Brian McCord 18.09.2012, 03:54
quelle

1 Antwort

1

Nachdem ich mir die Haare ausgezogen habe, habe ich es endlich herausgefunden. Es ist überhaupt nichts falsch mit dem Code. Es stellte sich heraus, dass es sich um ein Threading-Problem handelte, bei dem die konfigurierten Zuordnungen gelöscht wurden. Der obige Code ist der richtige Weg, um das zu tun, was ich wollte. Ich verlasse das hier, damit ich eine andere Frage für andere stellen kann, die dasselbe tun müssen.

    
Brian McCord 21.09.2012, 21:47
quelle

Tags und Links