2010-06-18 63 views
5

默认情况下是否可以设置实体框架字符串比较不区分大小写?使实体框架不区分大小写

如果我使用

string.StartsWith("stringToCompare", StringComparison.CurrentCultureIgnoreCase) 

它的工作原理。但是当我需要使用

string.Contains("strigToCompare") 

它没有过载。

+1

SQL无论如何不区分大小写,而EF只是委托它的查询它SQL,EF不能控制大小写,我认为这是你的数据库的整理问题。 – 2012-02-12 05:24:44

回答

3

您可以简单地改变这两个领域为大写的情况:

String stringToCompare = "Some String"; 

string.ToUpper().Contains(stringToCompare.ToUpper()) 

这将使得搜索不区分大小写的所有情况下转换为上。当然,ToLower()也可以。

+0

这将打破测试“Foo”和“Foobar”。因为foobar包含foo。这可能不是你要找的平等。 – Jafin 2013-01-17 03:41:46

+4

使用Contains()函数时,海报请求不区分大小写。 “Foo”和“Foobar”示例将返回“true”,这是期望的结果。 – 2013-02-20 04:02:08