3

私のデータベースには、都市を格納するテーブルがあります。「フォス ド イグアス」のようなアクセントの都市もあります。

私の MVC アプリケーションには、単語に基づいて都市のリストを返す JSON がありますが、「Foz do Iguacu」など、アクセントを使用して都市を検索するユーザーはほとんどいません。

私のデータベースには「Foz do Igua Ç u」がありますが、ユーザーは「Foz do Igua C u」を検索します

アクセントを無視してテーブル内のレコードを検索するにはどうすればよいですか?

これが私のコードです:

    using (ServiciliEntities db = new ServiciliEntities())
    {
        List<Cidades> lCidades = db.Cidades.Where(c => c.CidNome.ToLower().Contains(q.Trim().ToLower())).OrderBy(c => c.CidNome).Take(10).ToList();
        ArrayList lNomes = new ArrayList();
        foreach (Cidades city in lCidades)
            lNomes.Add(new {city.CidNome, city.Estados.EstNome});

        return Json(new { data = lNomes.ToArray() });
    }
4

2 に答える 2

0

解決策は次のとおりです。

ALTER TABLE dbo.YourTableName
ALTER COLUMN YourColumnName NVARCHAR (100) COLLATE SQL_Latin1_General_CP1_CI_AI NULL

LATIN1_GENERAL は英語 (米国)、CI は大文字と小文字を区別しない、AI はアクセントを区別しないを意味します。

于 2015-12-02T16:33:52.243 に答える