Nie udało mi się sprawić, aby AspNet.Identity firmy Microsoft działała z postgresql, wydaje się, że została zaprojektowana do pracy z SQL Server i nie potwierdza obecności innej konfiguracji kontekstu danych bez względu na to, co robisz.
Wszystko działa teraz z pomocą zewnętrznej biblioteki, więc udzielę odpowiedzi na moje pytanie na wypadek, gdyby ktoś inny napotkał ten problem.
Postępowałem zgodnie z instrukcjami zawartymi w następującym projekcie (kredyt dla Vincechan):
Krok 2 było trochę problematyczne. Po zaimportowaniu projektu do mojego rozwiązania musiałem rozwiązać w nim problemy referencyjne. W konsoli Menedżera pakietów możesz zainstalować brakujące pakiety i/lub zaktualizować te, które są nieaktualne. Moja ostateczna konfiguracja wymagała użycia:
- Npgsql 3.2.2 w moim głównym projekcie (przy użyciu EntityFramework6.Npgsql )
- Npgsql 2.2.7 w pobranym projekcie (za pomocą Npgsql.EntityFramework )
Gdy wszystko będzie gotowe, dodaj nową migrację (Add-Migration <migration-name
) i zaktualizuj swoją bazę danych (Update-Database
).
Teraz wykonaj skrypt SQL, który tworzy tabele związane z tożsamościami, nie zostaną utworzone automatycznie podobnie jak w przypadku SQL Server. Skrypt jest zawarty w projekcie (plik PostgreSQLIdentity.sql
).
Wszystko powinno teraz działać. Wybacz złe formatowanie tej odpowiedzi.