相关疑难解决方法(0)

LINQ-to-SQL中不区分大小写的字符串比较

我已经读过使用ToUpper和ToLower来执行不区分大小写的字符串比较是不明智的,但是在LINQ-to-SQL方面我没有其他选择.LINQ-to-SQL忽略String.Compare的ignoreCase和CompareOptions参数(如果您使用区分大小写的数据库,即使您要求不区分大小写的比较,也会得到区分大小写的比较).ToLower或ToUpper是最好的选择吗?这个比那个好吗?我以为我读过ToUpper更好的地方,但我不知道这是否适用于此.(我正在进行大量的代码审查,每个人都在使用ToLower.)

Dim s = From row In context.Table Where String.Compare(row.Name, "test", StringComparison.InvariantCultureIgnoreCase) = 0
Run Code Online (Sandbox Code Playgroud)

这转换为一个SQL查询,它简单地将row.Name与"test"进行比较,并且不会在区分大小写的数据库上返回"Test"和"TEST".

.net sql linq vb.net linq-to-sql

133
推荐指数
3
解决办法
11万
查看次数

在linq查询where子句中使用string.compare

我在查找linq查询的Where子句中使用string.compare的确切语法时遇到了一些麻烦.以下是我到目前为止的情况.

filteredApplications = AllApplications.Where(x => x.Name.Contains(string.Compare(x.Name, txtSearch.Text, StringComparison.OrdinalIgnoreCase))).ToList();
Run Code Online (Sandbox Code Playgroud)

这甚至可能还是我在错误的树上吠叫?

朗达

linq

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

linq ×2

.net ×1

linq-to-sql ×1

sql ×1

vb.net ×1