asp.net mvc Web サイトのアプリケーション開始ルーチンで、EF エンティティの特定のリストをキャッシュします。
protected void Application_Start()
{
CountriesDbContext db = new CountriesDbContext();
HttpRuntime.Cache["Countries"] = db.Countries.ToList();
}
以下のようにリクエストすると、アクセントを区別しない動作が失われます
private List<Country> cache = (List<Country>)HttpRuntime.Cache["Countries"];
//Accent insensitive behaviour is lost !
results = cache.Where(c => c.FR.ToLower()
.Contains(search.ToLower())); //for example : e will not match é
dbContext を使用して「通常どおり」要求すると、アクセントを区別しない動作が保持されます。
private CountriesDbContext db = new CountriesDbContext();
//Accent insensitive behaviour search
results = db.Countries.Where(c => c.FR.ToLower()
.Contains(search.ToLower())); //for example : e will match é
何故ですか ?エンティティをキャッシュするときにアクセントを区別しない動作を維持するにはどうすればよいですか?