A couple of years ago the following question was asked: Entity Framework nvarchar Case Sensitivity on Foreign key.
In short the answer was: EF uses the CLR to compare the keys of lazily loaded associations and always does that in a case sensitive manner, even though the database is set to a case insensitive collation.
Unfortunately, the project I'm currently involved with heavily uses VARCHAR primary key columns. The database collation is case insensitive.
Fixing the database design is really not an option, besides perhaps setting a CS collation on the primary key columns (but that would potentially break client applications).
So my question is two-fold:
BTW: SQL Server 2008 R2 and Entity Framework version 6.
without much analysis, here's a list of thing you can try: