2009-10-14 9 views
2

Je fais ceci:meilleure façon de cartographier les objets linq2sql à des entités

 public List<Role> GetRoles() 
    { 
     List<Role> result = new List<Role>(); 

     foreach (var r in Db.tblRoles) 
     { 
      result.Add(new Role() 
      { 
       Description = r.d, 
       Id = r.Id, 
       Responsibility = r.Responsibility 
      }); 

     } 
     return result; 
    } 

J'ai beaucoup de table carte 1: 1 avec mon modèle d'objet, est-il une meilleure façon d'obtenir mes données de table dans mon om?

Répondre

3

Beaucoup plus facile en utilisant les méthodes d'extension Select() et ToList().

public List<Role> GetRoles() 
{ 
     return Db.tblRoles 
       .Select(r => new Role 
       { 
        Description = r.d, 
        Id = r.Id, 
        Responsibility = r.Responsibility 
       }) 
       .ToList(); 
} 

Ou vous pouvez simplement renommer tblRoles être les rôles dans le concepteur ainsi que les propriétés de renommer - si vous êtes ok avec le traitement de vos entités LINQ que vos entités commerciales - et simplement faire:

public List<role> GetRoles() 
{ 
     return Db.Roles.ToList(); 
} 

Ce dernier est ce que je fais généralement, fournissant ma logique métier dans une implémentation de classe partielle séparée de l'entité en utilisant les hooks de méthode partielle fournis par le code généré par le concepteur.

Questions connexes