Не удалось присвоить нулевые значения следующему коду
[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
иногда становится нулевым, а иногда не равным нулю. Правильно ли мое определение объекта сущности?