linq不区分大小写(没有toUpper或toLower)
public Articles GetByName(string name, Categories category, Companies company)
{
var query = from article in session.Linq<Articles>()
where article.Name == name &&
article.Category == category &&
article.Company == company
select article;
return query.FirstOrDefault();
}
如何查询不区分大小写。 我可以使用toLower或toUpper,但是我想用OrdinalIgnoreCase。 可能吗?
使用String.Equals
和适当的参数使其不区分大小写
mySource.Where(s => String.Equals(s, "Foo", StringComparison.CurrentCultureIgnoreCase));
相反,如果==
使用.Equals(name, StringComparison.OrdinalIgnoreCase)
方法。
var query = from article in session.Linq<Articles>()
where article.Name.Equals(name, StringComparison.OrdinalIgnoreCase) &&
article.Category.Equals(category) &&
article.Company.Equals(company)
select article;
return query.FirstOrDefault();
如果这是对大小写不敏感的归类的数据库的LINQ to SQL查询,那么它已经是不区分大小写的。 请记住,LINQ to SQL实际上并未执行您的==调用; 它将它视为一个表达式并将其转换为SQL中的相等运算符。
如果它是对象的LINQ,那么可以像其他海报中指出的那样使用String.Equals。
链接地址: http://www.djcxy.com/p/75229.html