我已经读到,使用ToUpper和ToLower来执行不区分大小写的字符串比较是不明智的,但对于LINQ到SQL,我看不到其他 Select .字符串的ignoreCase和CompareOptions参数.LINQ对SQL忽略比较(如果使用区分大小写的数据库,即使要求进行区分大小写的比较,也会得到区分大小写的比较).ToLower或ToUpper是这里最好的 Select 吗?一个比另一个好吗?我想我在哪里读到过图珀更好,但我不知道这是否适用于这里.(我做了很多代码审查,每个人都在使用ToLower.)
Dim s = From row In context.Table Where String.Compare(row.Name, "test", StringComparison.InvariantCultureIgnoreCase) = 0
这转化为一个SQL查询,它只是比较行.使用"test"命名,并且不会在区分大小写的数据库上返回"test"和"test".