LINQ case sensitive

前端 未结 4 1990
挽巷
挽巷 2021-01-12 14:14

How to make LINQ case sensitive and NOT case sensitive depending on the situation?

I\'m using sql server 2008 and Entity Framework 4.0.

I changed the COLLATI

4条回答
  •  悲&欢浪女
    2021-01-12 14:25

    LINQ has no concept of case sensitivity, it only cares about boolean evaluation. So if you want to ignore case, you should do something like:

    query = query.Where(x => (x.Name.ToLower().Contains(Name.ToLower())));
    

    Chances are you will want to pass a CultureInfo to ToLower() (or use ToLowerInvariant()), and you might want to cache the result of Name.ToLower() so as to not have to perform that operation a potentially large number of times, but this should get you started.

提交回复
热议问题