c# - 如何匹配区分大小写的用户名和密码

标签 c# linq asp.net-web-api

我正在尝试使用sql server在C#中使用linq匹配用户名和密码

    //verify the user.
    var UserDetails = 
    (from user in con.ios_Users
    where (user.LOGIN == LogReq.userName && user.PASSWORD == LogReq.password && user.ACTIVE != 0)

    select new
    {
        user.ID,
        user.TYPEDESCR,
        user.USERNAME
    }).ToList();                     


在上面的代码中,如果我传递用户名-演示和密码-demo123,但它返回数据用户数据,但在数据库中,用户名是-DeMo,密码是DeMo123
如何使此linq查询区分大小写:(

提前致谢 :)

最佳答案

似乎是数据库排序规则问题:https://docs.microsoft.com/en-us/sql/relational-databases/collations/collation-and-unicode-support?view=sql-server-ver15


SQL Server中的归类为数据提供排序规则,大小写和重音敏感性属性。与字符数据类型(例如char和varchar)一起使用的排序规则规定了代码页以及可以为该数据类型表示的相应字符。


以上是针对MsSql的,但它适用于大多数主流数据库。

如果使用的是linqToSql,则将linq转到查询并在数据库中执行,因此实际比较发生在SQL端。

因此,您需要在表上修复排序规则。

关于c# - 如何匹配区分大小写的用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59746056/

相关文章:

c# - 如何反转列表内容的显示顺序?

C# 导出列格式不正确的 csv (Excel)

c# - Entity Framework 4 : Table per Type inheritance problem on insert

angularjs - Videogular 显示视频的开始时间和结束时间不正确

c# - 删除 Web API 的操作方法未触发

c# - 如何实现仅返回用户数据的 WebApi 授权

c# - ContinueWith 丢失 SynchronizationContext

asp.net - linq orderby 升序?

c# - LINQ 中的股票数据结转到第二天

c# - 需要算法来制作简单的程序(句子排列)