Question

Je travaille sur une solution ASP.NET avec 2 projets. L'une est l'interface Web et l'autre contient ma logique métier. J'utilise LINQ to SQL pour mon accès aux données dans le deuxième projet.

En dehors de ma base de données, j'ai appelé une table utilisateur qui contient des informations utilisateur.

J'ai commencé à mettre en œuvre un MembershipProvider. Je remarque que MembershipUser est couplé avec MembershipProvider. Quelle est la façon la plus correcte d'obtenir mon BLL / DAL pour parler des utilisateurs? Dois-je mettre en œuvre peu MembershipUser et chaque fois qu'un utilisateur appelle une méthode, il appellerai par exemple. GetUserInfo () dans mon BLL / DAL, pour obtenir des informations sur l'utilisateur?

Ou devrais-je faire les méthodes de la classe des méthodes de classe MembershipUser appellent mon habitude « Utilisateurs » (comme un emballage) dans le BLL / DAL (ce utilisateurs personnalisés classe n'est pas liée à LINQ)?

Ou puis-je prolonger en quelque sorte la Linq à la classe sql "CFUsers" pour étendre MembershipUser.

J'espère que cela a du sens.

Était-ce utile?

La solution

Je vois habituellement ce une des entités séparées comme MembershipUser tourne autour de l'adhésion qui est une préoccupation générique et un utilisateur dans votre système tourne autour quel que soit votre domaine implique, je ne vois point de vue où ces deux entités pourraient être contenues dans un, alors. Les profils sont sans aucun doute la meilleure façon d'aller.

Il y a une soluce sur les docs MSDN http://msdn2.microsoft.com /en-us/lib...US,VS.80).aspx et bonne visite virtuelle de Scott Guthrie à http://weblogs.asp.net/scottgu/archi. ..18 / 427754.aspx

Comme toujours Cela dépend de vos objectifs. Ajout au profil est un mécanisme simple pour les données supplémentaires. Il ne nécessite que très peu à la manière de personnalisation et rend l'information facilement disponible pour l'application Web. Cela peut ne pas être où vous voulez stocker ce type de données; sinon, il est un non-solution.

Si cela ne correspond pas, ce qui rend un nouveau fournisseur dérivé de la valeur par défaut (à hériter ce que vous avez déjà) est une excellente option. et bien sûr le http: // codesmart.wordpress.com/2009/03/27/extending-the-microsoft-aspnet-membership-provider/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top