忽略使用linq到实体(EF)的搜索重音

时间:2014-05-15 12:09:43

标签: linq asp.net-mvc-4 entity-framework-6

我需要在表格上搜索一个字符串字段,其中包含使用EF 6的重音符号(á,ì,ü等)

首先我尝试直接搜索:

 var listaResultados = db_hms.Topology
                .Where( t => t.is_active == true && ((t.display_name.Contains(busqueda))||(t.detail.Contains(busqueda))))

但这是重音敏感的,然后我试试这个:

t.display_name.IndexOf(busqueda, StringComparison.InvariantCultureIgnoreCase) >= 0

但linq与实体不支持

请其他任何想法 pd:我需要以“包含”方式执行搜索,而不是以白手开始。

1 个答案:

答案 0 :(得分:1)

这些比较将取决于您在创建SQL Server数据库时选择的排序规则。我不知道EF是否有任何变通方法,但您可以使用存储过程来调用此方法:

How do I perform an accent insensitive compare (e with è, é, ê and ë) in SQL Server?