Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 使用EF6和Npgsql的不区分大小写查询_Entity Framework_Postgresql_Npgsql - Fatal编程技术网

Entity framework 使用EF6和Npgsql的不区分大小写查询

Entity framework 使用EF6和Npgsql的不区分大小写查询,entity-framework,postgresql,npgsql,Entity Framework,Postgresql,Npgsql,我使用的是EF 6+npgsql。我试图运行一个查询,检查数据库中是否存在具有给定名称(不区分大小写)的用户。我试过: context.Users.Any(u => u.Name.Equals(username, StringComparison.InvariantCultureIgnoreCase)) 但是它不起作用。有什么帮助吗?不幸的是,这对我帮助不大。我需要一种方法,使用EF.var name=(username??string.Empty).ToLower()在postgre

我使用的是EF 6+npgsql。我试图运行一个查询,检查数据库中是否存在具有给定名称(不区分大小写)的用户。我试过:

context.Users.Any(u => u.Name.Equals(username, StringComparison.InvariantCultureIgnoreCase)) 

但是它不起作用。有什么帮助吗?

不幸的是,这对我帮助不大。我需要一种方法,使用EF.
var name=(username??string.Empty).ToLower()在postgresql数据库上运行“不区分大小写的查询”;var any=context.Users.any(u=>u.Name.ToLower()==Name)是的,但这是一个解决办法。我正在寻找EF/Npgsql中内置的选项。不,没有这样的内置选项。EF遵循默认的数据库排序规则设置。你可以试着请求它。如果希望全局应用区分大小写的排序规则,则需要更改数据库级别的排序规则,例如
SQL\u Latin1\u General\u CP1\u CI\u AS
。或者在where子句中添加
collatesql\u Latin1\u General\u CP1\u CI\u AS
query(但这会有点过分)。