I want a solution to this problem that does not involve ToUpper or ToLower, as I use in the code below;
var upper = term.ToUpper();
using (var db = this.Data
I know that this is not related directly to EF, but only solution I can think of is to alter DB table column collation to be Case Insensitive e.g.:
ALTER TABLE TABLENAME ALTER COLUMN COLUMNNAME nvarchar(100) COLLATE Latin1_General_CI_AS NULL
CI - case insensitive / CS - case sensitive
AS - accent sensitive / AI - accent insensitive (can also be useful)
If you can't change collation of table column you can use direct query from EF with forcing collation
select *
from table
where country collate Latin1_General_CI_AS != @country