Linq to sql区分大小写的查询 [英] Linq to sql Case sensitive query

查看:199
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆