Несогласованное нулевое назначение - PullRequest
0 голосов
/ 20 октября 2019

Не удалось присвоить нулевые значения следующему коду

    [Table("POSMachine")]
    public class POSMachine
    {
        public int ID { get; set; }
        public string POSSN { get; set; }
        public int? ReceivedBy { get; set; }
        public int? ReceivedFrom { get; set; }
        [ForeignKey("ReceivedFrom")]
        public virtual TeamMember ReceivedFromMember { get; set; }
        [ForeignKey("ReceivedBy")]
        public virtual TeamMember ReceivedByMember { get; set; }
    }

    private void LoadMachineObj(POSMachine machine)
    {
        var receivebymember = _context.TeamMembers.Where(m => m.IsActive == true && m.ID == receivebyid).FirstOrDefault();
            machine.ReceivedByMember = receivebymember;
        var receivefrommember = _context.TeamMembers.Where(m => m.IsActive == true && m.ID == 1).FirstOrDefault();
        machine.ReceivedFromMember = receivefrommember;
    }

//calling method:
    var machine = _context.POSMachines.Where(v => v.ID == id).FirstOrDefault();
    LoadMachineObj(machine);
    _context.Entry(machine).State = EntityState.Modified;
    _context.SaveChanges();

Если переменная receivefrommember равна нулю machine.ReceivedFromMember содержит предыдущую ссылку на объект, например, System.Data.Entity.DynamicProxies.TeamMember_98A56E4F3F20CCE075A377A6C5A2A9E1C6BFE2A0F00566726C986B9313FBB82C. Но иногда становится нулевым. Если receivefrommember равно нулю, то machine.ReceivedFromMember иногда становится нулевым, а иногда не равным нулю. Правильно ли мое определение объекта сущности?

...