Назначение значения свойства [NotMapped] после того, как было назначено «обычное» (сопоставленное) значение свойства - PullRequest
0 голосов
/ 23 октября 2018

Есть ли способ присвоить значение не сопоставленному свойству после того, как все сопоставленные свойства получат свои значения из БД?Например:

public class ProcessSupervisor
{
    public int ID { get; set; }
    public int MaximumConcurrentProcesses { get; set; }

    [NotMapped]
    public int AvailableProcessSlots { get; set; }
}

Я хотел бы сохранить значение MaximumConcurrentProcesses в базе данных и присвоить это значение AvailableProcessSlots в качестве значения по умолчанию, как только Entity Framework создает экземпляр ProcessSupervisor DBSet и назначает соответствующие значения.свойствам объектов.Очевидно, я не могу присвоить значение MaximumConcurrentProcesses для AvailableProcessSlots в конструкторе класса, так как MaximumConcurrentProcesses еще не получил его значение из базы данных.Есть ли правильный способ сделать это без инициализации значения AvailableProcessSlots каким-то странным и неуклюжим образом?

1 Ответ

0 голосов
/ 23 октября 2018

Вы можете попробовать что-то вроде этого:

public class ProcessSupervisor
{
    public int ID { get; set; }
    public int MaximumConcurrentProcesses { get; set; }

    [NotMapped]
    private int? availableProcessSlots = null;
    public int AvailableProcessSlots
    {
        get
        {
            return availableProcessSlots ?? MaximumConcurrentProcesses;
        }
        set
        {
            availableProcessSlots = value;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...