\"Contains\" in Entity Framework core should equivalent to the SQL %like% operator. Therefore \"Contains\" should be case insensitive however it is case sensitive! (at least
Use Explicit collation in a query
For example
var customers = context.Customers .Where(c => EF.Functions.Collate(c.Name, "SQL_Latin1_General_CP1_CS_AS") == "John") .ToList();
For more details see the msdn link
https://docs.microsoft.com/en-us/ef/core/miscellaneous/collations-and-case-sensitivity