如何强制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;
}
}
答案 0 :(得分:0)
您在此方法上不是很好。最好的方法是使用方法string.ToLower()
用小写字母将所有用户名保存在数据库中。关于密码,也许您应该尝试一些加密方法,而不是将字符串作为密码存储在数据库中。有很多简单的加密方法,因此并不太复杂(请参阅System.Crypthography
)