2009-05-19 14 views
2

Comment mapper mes entités générées Linq-to-SQL (DTO) à mes entités de domaine? Le problème est que je ne peux pas mapper les associations car elles ne sont pas du même type. Le DTO utilise EntitySet et EntityRef et mes entités de domaine utilise IList et T.Mappage d'entités Linq-to-SQL à des entités de domaine personnalisées

Je l'ai regardé à un poste de blog: Ian Cooper architecting-LINQ-to-sql-applications-partie-5 et digital_ruminations linq- to-sql-poco-support mais ils ne correspondent pas à mes besoins. J'aime une sorte de classe générique de convertisseur pour gérer le mapping.

Maintenant, je fais quelque chose comme ceci:

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

Mais la méthode Convert convertit uniquement les propriétés de base et non les associations. Des idées comment je peux le faire de la meilleure façon?

Répondre

2

Vous voudrez peut-être regarder dans AutoMapper. Il fait un excellent travail de mappage des propriétés automatiquement et prend en charge la personnalisation étendue, tels que les convertisseurs personnalisés, qui, je pense, pourraient être utilisés pour créer des listes à partir de votre entité EntitySets.


Mise à jour:

+0

http://code.google.com/p/automapperhome/source/browse /trunk/src/AutoMapperSamples/DynamicMapping.cs est probablement ce qu'il cherche. –

+0

@Todd: Merci, mais le site du projet * est * sur CodePlex. Cependant, j'ai mis à jour ma réponse avec de nouveaux liens vers le référentiel de code, les groupes de discussion et le blog. – Lucas