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:
@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 ~*
Generalnie dobra praktyka w postgresie jest nie nazywanie tabel i kolumn duzymi literami, poniewaz postgres natywnie wszystko castuje do malych liter. Normalnie w postgresie w kwerendach dodawanie "" zalatwia sprawe z lower casami.
Mirki chowam tatę. Nie wiem dlaczego to piszę tutaj, biorąc pod uwagę liczbę debilów na portalu... Ale pomyślałem że może ktoś to przechodził i zrozumie.... Jest mi w CH smutno i przykro #zalesie #religia #smierc
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.
Alternatywnie mozesz zrobic cos na ten wzor:
https://stackoverflow.com/questions/50863214/entity-framework-and-postgresql-quotation-marks-issue