1
resposta

Problema com SimpleMembership e Postgres

Estou seguindo a aula usando o banco PostgreSQL, tudo ocorre normal, mas na parte do SimpleMembership esta dando erro apos ter adicionado a seguinte linha:

WebSecurity.InitializeDatabaseConnection("ContextFinances", "Users", "id", "name", true);

esta dando este erro: An exception of type 'Npgsql.NpgsqlException' occurred in Npgsql.dll but was not handled in user code

Additional information: ERROR: 42704: type "nvarchar" does not exist

1 resposta

Olá William,

aqui você terá um sério problema de integração do SimpleMembership com o banco de dados. O problema é que o SimpleMembership tem um template que define os tipos que ele vai cadastrar no seu banco de dados. E todos os tipos texto, como o nome do usuário, senha, etc, ele usa o nvarchar. No entanto, o PostgreSQL não suporta o comando nvarchar. E aparentemente não é possível configurar o SimpleMembership para trocar o mapeamento de nvarchar para text ou varchar....

Se realmente precisar integrar com um PostgreSQL, você precisa investigar algum outro framework de autenticação/autorização que seja possível configurar como ele vai criar as coisas no banco. Não cheguei a olhar, mas o Identity da própria Microsoft ou o Membership (versão mais antiga do SimpleMembership) pode ser que permitam esta configuração.