The easiest way is to match the username in the database under its case-insensitve rules and match the passwords in .NET in accordance with its case-sensitive rules:
db.Users.Where(u => u.Username == username).ToList().Where(u => u.Password == password).FirstOrDefault();
ToList() moves from LINQ based on a database based on LINQ objects, and since there will only be one suitable case in any case, the performance impact is negligible.
The problem with saving the password in the database though!