Не считываются данные типа char с помощью Entity Framework

Оффтоп. Такое ощущение, что эта тема пересекается с той, которая указана в вопросе, словно это звенья одной цепи: Не могу добавить данные в БД с помощью Entity Framework

Только сейчас возникает проблема с загрузкой данных из БД.

Есть проект таблицы ContactsInfo в MS SQL:

Проект таблицы ContactsInfo

Её содержимое:

Содержимое таблицы ContactsInfo

Я загружаю эти данные в контекст данных ApplicationContext, а затем в ContactViewModel:

internal class ContactViewModel
{
    public int ID { get; }
    public string PhoneNumber { get; }
    public string? PhoneType { get; }
    public string? Name { get; }
    public string? Surname { get; }
    public string? Patronymic { get; }
    public char Sex { get; }
    
    public ContactViewModel(Contact Contact)
    {
        ID = Contact.ID;
        PhoneNumber = Contact.PhoneNumber;
        
        using ApplicationContext ApplicationContext = new();
        
        PhoneType = ApplicationContext.PhoneTypes?.FirstOrDefault(PhoneType => PhoneType.ID == Contact.PhoneTypeID)?.PhoneTypeText ?? null;
        
        ContactInfo? ContactInfo = ApplicationContext.ContactsInfo?.FirstOrDefault(ContactInfo => ContactInfo.ID == Contact.ContactInfoID) ?? null;
        Name = ContactInfo?.Name ?? null;
        Surname = ContactInfo?.Surname ?? null;
        Patronymic = ContactInfo?.Patronymic ?? "—";
        Sex = (ContactInfo?.Sex == '\0' ? '?' : ContactInfo?.Sex) ?? '?';
    }
}

Выглядит это так:

Проблема с загрузкой свойства Sex в DataGrid

Собственно говоря, на этом фото и можно увидеть, что пол почему-то не прогрузился из БД/ApplicationContext и из-за этого поставилась заглушка в виде символа '?'.

Почему это происходит? В отладке значение Sex строки из загруженной таблицы ContactsInfo почему-то равно 0 '\0', что означает нулевой символ (null character).

Значение свойства Sex в отладчике при получении из ApplicationContext

Вопрос — почему? С другими данными же всё в порядке, они загружаются правильно. Эта какая-то особенность типа char? Или char(1) в БД?


Ответы (0 шт):