Wpis z mikrobloga

#aspnet #bazydanych #csharp #dotnet #entityframework #postgresql #sql

Próbuję podpiąć PostgreSQL zamiast Microsoft SQL Server. W pgAdmin doinstalowałem rozszerzenie citext. Zmieniłem kolumnę na citext. Do DbContext dodałem HasPostgresExtension("citext"). Pokasowałem migracje, dodałem nową. Mimo tego takie zapytania nie ignorują wielkości liter:

Where(u => u.UserName == userName)
Poniższe oczywiście działa:

Where(u => u.UserName.ToLower() == userName.ToLower())
Chciałbym uniknąć takich mało eleganckich fixów specjalnie dla jednego dostawcy bazy.
  • 3
  • Odpowiedz
@30012016: Jeśli nie zależy Ci na wydajności to może ILIKE - ale przy dużych tabelach licz się z kilku(dziesięcio)krotnym wzrostem czasu odpowiedzi. Podobnie z operatorem ~*
  • Odpowiedz