Prática recomendada para ingressar nos serviços nhibernate e ASP.NET membership / role / profile

Eu tenho um aplicativo ASP.NET genérico (MVC), que usa NHibernate como a camada de persistência de modelo e serviços de associação / função / perfil do asp.net como a camada de gerenciamento de usuário.

A questão é o que pode ser considerado como a melhor prática para criar ligações entre os dados do domínio e os usuários. (Por exemplo, eu quero criar um sistema de fórum eu quero vincular cada tópico / mensagem a um usuário específico, e quero exibir o usuário em cada solicitação).

Estas são as possibilidades que eu tenho pensado:

Armazene o ID do usuário no NHibernate (como ter uma coluna Guid em todas as suas classes de domínio (Postagens, Tópicos, etc.) que precisa referenciar um usuário) e use GetUser toda vez que precisar do nome do usuário do guid (o que pode resultar em n + 1 consultas)

Variante B: Como alternativa, armazene o nome de usuário também.

Use o mesmo banco de dados e crie um Usuário do objeto de domínio NHibernate maintaned somente leitura que mapeie os mesmos dados que os serviços de M / R / P.Esqueça o M / R / P e crie um serviço de gerenciamento de usuários separado baseado no NHibernateEsqueça ambos e use J2EE / RoR / merb / DJango / etc. (por favor não escolha esta opção :))de outros...

questionAnswers(3)

yourAnswerToTheQuestion