No pude hacer que AspNet.Identity de Microsoft funcione con postgresql, parece estar diseñado para funcionar con SQL Server y no reconoce la presencia de una configuración de contexto de datos diferente sin importar lo que haga.
Tengo todo funcionando ahora con la ayuda de una biblioteca externa, por lo que proporcionaré una respuesta a mi pregunta en caso de que alguien más tenga este problema.
Seguí las instrucciones presentes en el siguiente proyecto (crédito a vincechan):
Paso 2 fue un poco problemático. Después de importar el proyecto a mi solución, tuve que resolver problemas de referencia en él. En la consola del administrador de paquetes, puede instalar los paquetes que faltan y/o actualizar los que están desactualizados. Mi configuración final requiere usar:
- Npgsql 3.2.2 en mi proyecto principal (usando EntityFramework6.Npgsql )
- Npgsql 2.2.7 en el proyecto descargado (usando Npgsql.EntityFramework )
Una vez que tengas todo listo, agrega una nueva migración (Add-Migration <migration-name
) y actualice su base de datos (Update-Database
).
Ahora ejecute el script SQL que crea tablas relacionadas con la identidad, estas no se crearán automáticamente como el hacer con SQL Server. El script está incluido en el proyecto (archivo PostgreSQLIdentity.sql
).
Todo debería funcionar ahora. Perdone el formato deficiente de esta respuesta.