2009-04-15 7 views
0

Comment puis-je faire cela, c'est-à-dire garder le mappage séparé?Retour d'une liste mappée de domaine avec LinqtoSql

Au lieu de cela:

var people= (from p in db.people select new Person{ 
               id=p.id, 
               name=p.name 
               }).ToList(); 

Je veux faire:

var people= (from p is db.people select new Person { 
             ***MAPTODOMAIN(p)*** 
             }).ToList(); 

Répondre

1

En supposant que personne dans votre modèle est une classe de domaine qui ne sont pas dans le contexte des données Linq2SQL et son remplacement par classe AppUser comme la classe qui est dans le contexte de données (pour plus de clarté que les noms étaient très similaires dans votre exemple), quelque chose comme ça fonctionnerait:

var people = (from p in db.AppUsers select MapPerson(p)).ToList(); 

qui utilise une méthode similaire à celle-ci ailleurs dans le code:

private Person MapPerson(AppUser user) 
{ 
    return new Person {Id = user.Id, Name = user.Name}; 
} 
Questions connexes