Я запрашиваю базу данных SQLite, используя NHibernate.Как правило, я хочу делать строковые запросы без учета регистра.Недавно я обнаружил, что хотя я могу вставить строку с символами кириллицы, я не могу выбрать ее с помощью запроса без учета регистра.Вот как выглядит запрос:
string foo = "foo";
IList<T> list = session.CreateCriteria(typeof(T)).
Add(Expression.Eq("Foo", foo).IgnoreCase()).List<T>();
Однако я могу выбрать строку, используя приведенный выше запрос, если IgnoreCase () удален.Наивным исправлением будет проверка, если list.Count == 0 после первого запроса, и создание последующего запроса с учетом регистра.Основным недостатком этого подхода является то, что запрос несуществующих строк является достаточно распространенной операцией, которая теперь будет состоять из двух запросов.который будет выбирать из столбца Foo без учета регистра, но также будет выбирать строки, содержащие символы кириллицы?