У меня довольно простая структура таблицы, как показано ниже, и проблема кажется мне странной. Хотя я решил обойти это, но хотел бы узнать мнение экспертов.
У меня есть две таблицы.
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 , все работает.
Эта Ссылкаговорит о чем-то похожем
Эта Ссылкао другой похожей проблеме
Пожалуйста, поделитесь своими ответами, почему такое поведение, Сопоставление моей БД не учитывает регистр. А вы сталкивались с подобным?