1

我将 EF 4.3.1 Code First 与 SQL Server CE 4 数据库一起使用,它运行良好,可以轻松创建所有表和数据库

但是现在我遇到了这个问题,我正在使用 LINQ 查询数据库

using (var db = new PeopleContext())
{    
      var people = from e1 in db.People
                   where e1.Name.Contains("maria")
                   select e1;
}

我想得到 Name 包含Maríaor Mariaor maríaor的每个人的结果maria- 注意 i - í 中的重音

我想要一个不区分重音和不区分大小写的搜索

提前感谢您的帮助


更新:好的,我找到了一种在 .NET 端使用的方法string.Compare()

string.Compare(string1, string2, CultureInfo.CurrentCulture,
CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase);

IgnoreNonSpace 标志将忽略重音符号,而 IgnoreCase 标志将忽略大小写。

4

1 回答 1

1

SQL Server Compact 仅支持 CI_AS(不支持 CI_AI) - 请参阅http://msdn.microsoft.com/en-us/library/ms174596(v=sql.105).aspx - 因此您必须使用其他数据库产品,或存储另一列中数据的可搜索版本

于 2012-04-18T18:50:51.653 回答