Pergunta

Eu estou usando o SqlMembershipProvider e deseja adicionar uma carga mais informações sobre os usuários. É a melhor maneira de fazer isso para criar um novo banco de dados e fazer uma entrada para cada novo usuário como eles são criados? Se assim for, há qualquer razão para não usar o valor SqlMembershipProvider UserID como o PK na tabela de usuários no meu novo DB?

Ou, existem boas razões para criar um novo UserID no meu novo DB e usar o SqlMembershipProvider UserID como o FK?

Foi útil?

Solução

Eu não posso pensar em uma razão para que isso não iria funcionar ou porque você não deve fazê-lo dessa forma (ID de usuário como PK)

Eu não sei por que você usaria um banco de dados separado para tudo, eu provavelmente apenas criar a tabela no banco de dados atual e configurá-lo usando o ID de usuário como uma FK para a tabela de aspnet_users.

Outras dicas

Se você estiver indo para ser reescrever o provedor de associação gostaria de mudar todas as colunas PK para BITINT de GUID. Eu faria isso por duas razões; um números sequenciais são muito mais fáceis de trabalhar com e compreender e segundo há benefícios de usar BIGINT em vez de GUID Ids de desempenho. Também gostaria de usar apenas a minha própria coluna id que pode ser usado para como as outras tabelas no aplicativo e remover o que vem por padrão no provedor de associação SQL. Para fazer isso você terá que fornecer o código para cada função no provedor, que não é tarefa fácil.

Eu criei um invólucro em torno de meu esquema de banco de dados existente, com uma classe derivada de MembershipUser que contém as propriedades adicionais, e um derivado MembershipProvider que cria instâncias da classe MembershipUser derivada.

Eu só uso os métodos de autenticação e atualização de adesão, uma vez que as outras APIs de apoio são um pouco limitadas. Eu tenho um separado editar API criar / usuário para uso administrativo.

Esta solução está sendo usado em vários sites, e funciona bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top