2009-05-08 10 views
1

Je l'ai frappé sur l'idée de créer des méthodes statiques sur les requêtes LINQ partielles telles queméthodes statiques vs modèle de référentiel avec Linq2Sql

public partial class User 
{ 
    public static User FindByGuid(string guid, ApplicationDataContext context) 
    { 
     return context.Users.Where(x => x.GUID == guid).Single(); 
    } 
} 

Ainsi, par exemple, je peux facilement trouver un utilisateur en faisant:

using (var context = new ApplicationDataContext()) 
{ 
    var user = DataAccess.User.FindByGuid(UsersDropDown.SelectedValue, context); 
} 

Est-ce un modèle de conception reconnu? Quels sont les avantages/inconvénients de faire cela par rapport au modèle de dépôt?

Répondre

1

Bien que je ne vois pas de motif reconnu dans ce que vous faites ici, je vois que vous utilisez Dependency Injection en passant le paramètre applicationdatacontext dans la méthode en tant que dépendance. Le problème ici est que vous êtes toujours étroitement couplé à votre datacontext indépendamment de l'endroit où la dépendance est initiée, ce qui rend plus difficile le test unitaire.

Questions connexes