2009-05-19 9 views
2

Wie kann ich meine Linq-zu-SQL-generierten Entitäten (DTOs) meinen Domänenentitäten zuordnen? Das Problem ist, dass ich die Assoziationen nicht zuordnen kann, weil sie nicht vom selben Typ sind. Der DTO verwendet EntitySet und EntityRef und meine Domain Einheiten verwendet IList und T.Zuordnen von Linq-zu-SQL-Entitäten zu benutzerdefinierten Domänenentitäten

Ich habe irgend Blog-Post sah: Ian Cooper Architecting-Linq-to-SQL-Anwendungen-Teil-5 und digital_ruminations linq- to-sql-poco-support aber sie passen nicht meine Bedürfnisse. Ich mag eine Art generische Konverterklasse, um das Mapping zu handhaben.

Jetzt mache ich so etwas wie dieses:

public IList<Entities.Customer> GetAll() 
    { 
     try 
     { 
      return _custConverter.Convert(base.GetEntities()); 
     } 

Aber die Methode Konvertieren konvertiert nur die grundlegenden Eigenschaften nicht die Verbände. Irgendwelche Ideen, wie ich das am besten machen kann?

Antwort

2

Sie möchten vielleicht in AutoMapper suchen. Es bietet eine hervorragende Möglichkeit, Eigenschaften automatisch zu erstellen, und unterstützt umfangreiche Anpassungen, wie z. B. benutzerdefinierte Konverter, mit denen Sie Listen aus Ihren EntitySets erstellen können.


Update:

+0

http://code.google.com/p/automapperhome/source/browse gehostet /trunk/src/AutoMapperSamples/DynamicMapping.cs ist wahrscheinlich das, wonach er sucht. –

+0

@Todd: Danke, aber die Projektseite * ist * auf CodePlex. Allerdings habe ich meine Antwort mit neuen Links zu Code-Repository, Diskussionsgruppen und Blogpost aktualisiert. – Lucas

Verwandte Themen