是否有一种简单的方法来处理linq-to-entities查询中的重音符号 - c#

假设我有可汗的数据库。我可以使用此实体框架代码按名称提取可汗

Khan khan=context.Khans.Where(x=>x.Name.Contains("Öge")).Single();

问题在于,在实践中,用户将键入“ Oge”而不是“Öge”,并且不会获得任何匹配项。有没有一种简单的方法可以解决这个问题,以便带有重音符号的字母始终算作没有重音的字母进行搜索?

我发现this SO question可以为Compare方法提供解决方案,但是我似乎无法将其用于数据库查询:

string.Compare(s1, s2, CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace);

参考方案

您可能需要将数据库表中字段的排序规则更改为区分大小写和不区分大小写,以使LINQ能够与.Contains()之类的标准方法一起使用:

ALTER TABLE Khans ALTER COLUMN Name [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AI

排序规则名称末尾的“ CI”表示“不区分大小写”,“ AI”表示“不区分重音”。

LINQ to SQL中的“无法识别的表达式节点数组索引linq”异常 - c#

这是我的LINQ,其中我将DateTime类型的字段与当前日期进行了比较- var srs = (from s in dcDistrict.ScheduledReportStatus where s.ReportConfigId.Equals(ConfigId) && s.Status.HasValue && s.Status…

LINQ to XML语法 - c#

我有一个简单的POCO类,用于保存从XML文件提取的数据,该XML文件定义如下:public class Demographics { public string FirstName { get; set; } public string LastName { get; set; } public string MiddleName { get; set; …

Linq to SQL获取多列 - c#

我正在开发一个asp.net MVC Web应用程序,其中使用Linq to Sql通过jquery和ajax从数据库获取结果。我的模型有以下代码 public IEnumerable<string> getComments(long problemID) { var comment = from c in _objectModel.Commen…

Flask to Dygraph-如何传递数据? - javascript

如果我有一个简单的Python时间数据系列,例如:graphdata = [] graphdata.append( [(datetime.date(2008, 5, 7)),75]) graphdata.append([(datetime.date(2008, 5, 8)), 85]) graphdata.append([(datetime.date(200…

如何处理LINQ to Entities仅支持无参数的构造函数和初始化程序[重复] - c#

This question already has answers here: Only parameterless constructors and initializers are supported in LINQ to Entities (14个回答) 4年前关闭。 因此,当我尝试从Web Api获取数据时会发生这种情况:ExceptionMessa…