我正在使用带有SQL Server CE 4数据库的EF 4.3.1 Code First,它可以很好地创建所有表和数据库而不会有麻烦
但是现在我遇到了这个问题,我正在使用LINQ查询数据库
using (var db = new PeopleContext())
{
var people = from e1 in db.People
where e1.Name.Contains("maria")
select e1;
}
我希望得到名称中包含María
或Maria
或maría
或maria
的每个人的结果 - 注意i - í中的重音
我想要一个不区分重音且不区分大小写的搜索
提前感谢您提供任何帮助
更新:好的,我找到了一种使用string.Compare()
string.Compare(string1, string2, CultureInfo.CurrentCulture,
CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase);
IgnoreNonSpace标志将忽略重音,IgnoreCase标志将忽略大小写。
答案 0 :(得分:1)
SQL Server Compact仅支持CI_AS(不是CI_AI) - 请参阅http://msdn.microsoft.com/en-us/library/ms174596(v=sql.105).aspx - 因此您必须使用其他数据库产品,或将可搜索的数据版本存储在另一列中