是否可以使用Npgsql和Entity Framework 6来查询PostgreSQL而忽略重音?在SQL中,可以使用非重音扩展,并且可以使用同样基于非重音的索引进行索引:
select * from users where unaccent(name) = unaccent('João')
在以前使用MySql的项目中,我可以使用像utf8_swedish_ci这样的不区分重音的排序来解决这个问题,但据我所知,PostgreSQL缺乏这种解决方案。
是否可以使用Npgsql和Entity Framework 6来查询PostgreSQL而忽略重音?在SQL中,可以使用非重音扩展,并且可以使用同样基于非重音的索引进行索引:
select * from users where unaccent(name) = unaccent('João')
在以前使用MySql的项目中,我可以使用像utf8_swedish_ci这样的不区分重音的排序来解决这个问题,但据我所知,PostgreSQL缺乏这种解决方案。
2条答案
按热度按时间uqzxnwby1#
如果使用Codefirst方法,则应尝试使用EntityFramework.CodeFirstStoreFunctions。
1.首先将EntityFramework.CodeFirstStoreFunctions添加到项目中
1.向DbModelBuilder添加带有非重音符号的自定义约定
1.在查询中使用它。
数据库上下文示例:
用法示例:
重要提示:
此解决方案适用于EntityFramework6.Npgsql(它使用Npgsql 3.)。
它不适用于Npgsql.EntityFramework(它使用Npgsql 2.)
tcomlyy62#
Net6这个为我工作