Entity Framework nvarchar Чувствительность к регистру для внешнего ключа

У меня довольно простая структура таблицы, как показано ниже, и проблема кажется мне странной. Хотя я решил обойти это, но хотел бы узнать мнение экспертов.

У меня есть две таблицы.

Users
UserName nvarchar(250) Primary Key
FirstName nvarchar(50)
LastName  nvarchar(50)

Registrations
Id BigInt PrimaryKey
User nvarchar(250) - Foreign to Users Table
Date - DateTime

Data I have is as follows.
Users
UserName FirstName LastName
a        Small     A 
b        Small     B

Registrations
Id       User      Date
1        A         1/1/12
2        B         1/1/12

Обратите внимание, что регистр пользователя здесь Caps, он действителен в SQL, он принимает.

Теперь самое интересное. Я создал EDMX, .Net 4.0 и теперь я выполняю этот код.

 using (EFTestEntities context = new EFTestEntities())
            {
                var item = context.Registrations.Where(id => id.Id == 1).FirstOrDefault();
                Response.Write(item.User1.LastName);
            }

Он просто ломается с исключением нулевого указателя. Пользователь 1 выдает Null. Когда я изменяю значение столбца UserName в таблице Registrations на a вместо A , все работает.

Эта Ссылкаговорит о чем-то похожем

Эта Ссылкао другой похожей проблеме

Пожалуйста, поделитесь своими ответами, почему такое поведение, Сопоставление моей БД не учитывает регистр. А вы сталкивались с подобным?

8
задан Community 23 May 2017 в 12:09
поделиться