次のクエリが機能します。大文字と小文字を間違えて名前を入力すると、正しい結果が返されます。
private static IObjectContainer db = Db4oFactory.OpenFile(db4oPath);
public static IQueryable<Company> GetCompaniesByName(string name) {
return (from Company c in db
where c.Name.ToLowerInvariant().Equals(name.ToLowerInvariant())
select c).AsQueryable();
}
同じパラメーター(基本的に同じ単体テスト)を使用した次のクエリは、結果を返しません。唯一の違いはwhere句です。
public static IQueryable<Company> GetCompaniesByName(string name) {
return (from Company c in db
where c.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)
select c).AsQueryable();
}
なんで?