Linq to sql区分大小写的查询 [英] Linq to sql Case sensitive query
本文介绍了Linq to sql区分大小写的查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用LINQ进行SQl并触发登录查询,如下所示
Im using LINQ to SQl and firing the query for login as follows
var result = from userlist in context.UserMasters
where userlist.UserName.Equals(username)
where userlist.UserPassword.Equals(pass,StringComparison.InvariantCulture)
select userlist;
if (result.ToList().Count > 0)
{
values = true;
}
method 'boolean equals system.string system.stringcomparison ' has no supported translation to sql
但是它给出了一个错误,该怎么办,我想将密码与区分大小写的pls help
but it gives an eror as follows what should i do,i want to compare the password with case sensitive pls help
推荐答案
Linq生成sql -query进行比较..这意味着您不能在您的查询中使用函数.而且由于SQL Server不区分大小写,因此您必须以另一种方式执行此操作:
Linq generates sql -query.. That means you cant use functions in you''r queryable. And since SQL server isn''t case sensitive you have to do this in a slightly other way:
var result = from userlist in context.UserMasters
where userlist.UserName.Equals(username)
// Maybe bether (if usernames are unique):
var result = context.UserMasters.SingleOrDefault(u=>u.UserName == username);
if(result == null){
// Did not find any user(s)
}
// If you want a case sensitive password check
if(result.UserPassword == pass){
// The password is correct
}
// If you don't
if(result.UserPassword.Equals(pass, StringComparison.InvariantCulture)){
// The password is correct
}
几天前,我确实回答了同样的问题.您应该真正阅读该答案以进行更深入的说明. Linq to sql查询的密码字段区分大小写 [ ^ ]
I did answer the very same question some days ago. You should really read that answer for more in depth explanation. Linq to sql query for Password Field case sensitive[^]
这篇关于Linq to sql区分大小写的查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文