making Linq case sensitive

2020-02-14 07:41发布

I am using vs 2010 with linq to sql and sql server 2008. how would i made this case sensitive

  var Groups = from gp in _db.Groups 
               where gp.vcr_GroupName == GroupName 
               select gp;

here groupname=abc and groupname=ABC is same

3条回答
聊天终结者
2楼-- · 2020-02-14 08:02

That's not a point for a linq query.

It's a setting within the sql server 2008. Microsoft Sql Server 2008 handles string comparisons by default case invariant.

Have a look at: http://msdn.microsoft.com/en-us/library/ms141038.aspx

查看更多
做自己的国王
3楼-- · 2020-02-14 08:20

use the SqlMethods.Like that is case Sensitive and available for SQL.

 where System.Data.Linq.SqlClient.SqlMethods.Like(gp.vcr_GroupName, GroupName)
查看更多
我命由我不由天
4楼-- · 2020-02-14 08:29

Assuming GroupName is a string, you can do a simple string comparison and ignore case:

var Groups = from gp in _db.Groups 
             where gp.vcr_GroupName.Equals(GroupName, StringComparison.OrdinalIgnoreCase) 
             select gp;
查看更多
登录 后发表回答