Мне нужна помощь.
Я работаю
. NET Core 3.1
Npg sql .EntityFrameworkCore. PostgreSQL 3.1.2
Microsoft.EntityFrameworkCore.Tools 3.1. 2
против postgres дБ
PostgreSQL 11,5
Мы перешли с MS SQL на postgres, и ранее этот код работал:
_context.Users.SingleOrDefaultAsync(x => x.EmailAddress == emailadress);
* 1011 С учетом вышесказанного, теперь данные чувствительны к регистру и, например, сравнение "john. doe@mail.com" с "John. Doe@mail.com" перестало работать. Можно изменить все на младшие строки, но поскольку таких сравнений много, потребуется некоторое время, чтобы это изменить.
Тогда я нашел цитату для спасения, подумал я.
Я изменил таблица / столбец, а затем есть сущность. net Я немного не уверен, как исправить.
Я пытался добавить к сущности, основываясь на этой ссылке: https://www.npgsql.org/efcore/mapping/general.html?tabs=data-annotations
[Column(TypeName = "citext")]
public string EmailAddress { get; set; }
, но это не помогло. Я нахожу это в журналах:
Выполнение DbCommand [Parameters = [@__ emailadress_0 = '?'], CommandType = 'Text', CommandTimeout = '30 ']
И я не знаю, стоит ли ожидать CommandType = 'citext' здесь или нет.
У кого-нибудь есть какие-либо замечания по этому поводу?
Большое спасибо!