linqを使用するmvcプロジェクトがあります。私のデータベースには、「Someth ing」、「SOmeTH ing」、「someTh ing」、「SOMETH ING」、「someTHING」などのレコードがあります。
私はこれをしたい:
SELECT * FROM dbo.doc_dt_records WHERE name LIKE '%' + @records.Name + '%'
ただし、このコードを実行すると、list.Countは0を返します。どうすればよいですか?
records.Name = "someth ing"; //for example
var rec = db.Records.ToList();
var lists = rec.Where(p => p.Name.Contains(records.Name)).ToList();
if (lists.Count > 0)
{
// do sthng
}
あなたの助けをありがとう...
簡単な方法はToLower()メソッドを使用することです
var lists = rec.Where(p => p.Name.ToLower().Contains(records.Name.ToLower())).ToList();
より良い解決策(この投稿に基づく:大文字と小文字を区別しない 'Contains(string)')
var lists = rec.Where(p =>
CultureInfo.CurrentCulture.CompareInfo.IndexOf
(p.Name, records.Name, CompareOptions.IgnoreCase) >= 0).ToList();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加