Я использую эту инструкцию:рамки сущность и где с как
db_user = db.CBR_User.FirstOrDefault(p => p.Codice_Fiscale == code);
Я хочу использовать „как“ оператор вместо == для управления регистронезависимы
Как это сделать?
благодарит
Я использую эту инструкцию:рамки сущность и где с как
db_user = db.CBR_User.FirstOrDefault(p => p.Codice_Fiscale == code);
Я хочу использовать „как“ оператор вместо == для управления регистронезависимы
Как это сделать?
благодарит
Если вы хотите сделать в любом случае, я предлагаю два пути:
db_user = db.CBR_User.FirstOrDefault(p => p.Codice_Fiscale.Equals(code, StringComparison.OrdinalIgnoreCase));
Или
db_user = db.CBR_User.FirstOrDefault(p => p.Codice_Fiscale.ToUpper() == code.ToUpper());
Если вы не хотите этого, вы можете использовать StartsWith содержит, и т.д., с параметром StringComparison.OrdinalIgnoreCase.
Вы можете использовать Contains()
:
db_user = db.CBR_User.FirstOrDefault(p => p.Codice_Fiscale.Contains(code));
-1 Содержит() может использоваться для замены SQL. Однако он чувствителен к регистру и не имеет встроенного независимого от регистра эквивалентного значения. Просмотрите раздел примечаний в статье MSDN о Содержит: http://msdn.microsoft.com/en-us/library/dy85x1sa.aspx – Corin
Содержит переведен в 'LIKE' в SQL, и там он _is_ case нечувствителен. 'WHERE Name LIKE '% rob%'' возвращает те же результаты, что и 'WHERE Name LIKE '% ROB%''. –
На самом деле чувствительность 'LIKE' зависит от настройки сортировки в базе данных. Указанная вами ссылка MSDN не имеет ничего общего с SQL, созданным EF. –
В LINQ Для Entity у вас есть такие функции, как StartsWith, EndsWith и содержит, что вы можете использовать вместо этого, как
Я знаю, что это старая тема, но и расширить на том, что Kristof Claes говорил,
db_user = db.CBR_User.FirstOrDefault(p => p.Codice_Fiscale.ToUpper().Contains(code.ToUpper()));
, если вы используете опцию ToUpper, он будет действовать так, как будто это поиск без учета регистра. Вы можете использовать ToLower, чтобы делать то же самое, если у вас есть такая склонность.
Я также хотел бы отметить, что в зависимости от вашей базы данных (sql 2008) в любом случае может не учитываться регистр. –
Да, действительно ... это зависит от базы данных – Francisco