用Linq对SQL执行区分大小写的查询?

时间:2019-01-23 13:30:53

标签: linq

如何强制LINQ to SQL在数据库端进行区分大小写的比较?进行身份验证时,我需要密码身份验证区分大小写,而用户名不区分大小写。生成的查询不会区分SQL Server比较不区分大小写。

public Boolean checkLogin(string uname, string pwd)
        {
            DataClassesDataContext dc = new DataClassesDataContext(RetrieveConnection());

            int count=(from c  in dc.Logins
                      where c.UserName == uname && c.Password == pwd
                      select c).Count();
            if(count>0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

1 个答案:

答案 0 :(得分:0)

您在此方法上不是很好。最好的方法是使用方法string.ToLower()用小写字母将所有用户名保存在数据库中。关于密码,也许您应该尝试一些加密方法,而不是将字符串作为密码存储在数据库中。有很多简单的加密方法,因此并不太复杂(请参阅System.Crypthography