2010-05-02 7 views
2

J'écris un forum dans ASP.NET. J'ai un tableau de messages. Comment puis-je attribuer un message à un utilisateur? Si j'avais une table Utilisateur normale, je créerais simplement un nouveau champ dans la table de poste "UserId" et créerais une assocation dans le concepteur Linq to Sql. Mais maintenant? Dois-je inclure les aspnet_Users dans le concepteur?Attribuer un message à un utilisateur dans l'appartenance à ASP.NET

Merci.

+0

tout progrès à ce sujet? –

+0

Yep - J'écris mon propre système d'adhésion (pas un fournisseur) –

+0

Bonne chance. Ai-je répondu à votre question de manière satisfaisante? –

Répondre

-2

Ecrivez votre propre fournisseur d'appartenance ASP.NET qui utilise votre propre table de base de données et évitez les tracas de découvrir comment la MS définit ses tables db.

j'ai écrit un blog à ce sujet il y a quelques années, je pense: http://www.tigraine.at/2008/07/08/custom-aspnet-membership-provider/

Hope this helps.

+1

désolé - c'est juste un mauvais conseil. –

+0

Je ne vois pas pourquoi. Vous n'avez pas besoin de mettre en œuvre l'ensemble du fournisseur d'adhésion, mais seulement les méthodes qui vous concernent (à savoir: connexion, mot de passe oublié et créer un utilisateur) pendant que vous contrôlez complètement la table sur laquelle vous travaillez. Faire des références faibles dans les tables intégrées sans le support du concepteur L2S est également un mauvais conseil – Tigraine

+0

Les problèmes d'appartenance à ASP.NET se détériorent surtout lorsque vous devez ajouter des permissions par données à un moment donné. – Tigraine

2

L'inclusion de la table dans votre concepteur ne devrait pas être nécessaire.

définissent simplement le champ UserId dans votre table Posts comme uniqueidentifier et fournir les UserId lors de l'exécution de vos requêtes.

Vous pouvez obtenir le Guid (uniqueidentifier) ​​UserId comme ceci:

Guid UserId = (Guid) Membership.GetUser().ProviderUserKey; 

Il n'y a absolument pas besoin de mettre en œuvre des fournisseurs personnalisés pour faciliter cette exigence.