C# 不一致的空赋值

C# 不一致的空赋值,c#,entity-framework,pass-by-value,C#,Entity Framework,Pass By Value,无法将空值分配给以下代码 [表(“POSMachine”)] 公共类POSMachine { 公共int ID{get;set;} 公共字符串POSSN{get;set;} 公共int?由{get;set;}接收 公共int?从{get;set;}接收 [外键(“接收自”)] 从成员{get;set;}接收的公共虚拟团队成员 [外键(“接收方”)] 公共虚拟团队成员ReceivedByMember{get;set;} } 专用void LoadMachineObj(POSMachine机器) {

无法将空值分配给以下代码

[表(“POSMachine”)]
公共类POSMachine
{
公共int ID{get;set;}
公共字符串POSSN{get;set;}
公共int?由{get;set;}接收
公共int?从{get;set;}接收
[外键(“接收自”)]
从成员{get;set;}接收的公共虚拟团队成员
[外键(“接收方”)]
公共虚拟团队成员ReceivedByMember{get;set;}
}
专用void LoadMachineObj(POSMachine机器)
{
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;
}
//调用方法:
var machine=_context.POSMachines.Where(v=>v.ID==ID.FirstOrDefault();
装载机bj(机器);
_context.Entry(machine.State=EntityState.Modified;
_SaveChanges();

如果
receivefrommember
变量为空
machine.ReceivedFromMember
保存上一个对象引用,类似于
System.Data.Entity.DynamicProxies.TeamMember\u 98a56e4f3f3f20ce075a377a6a6c5a2a9e1c6bfe2a0f0566726c986b9313fbb82c
。但有时会变为空。如果
ReceivedFromMember
为空,为什么
machine.ReceivedFromMember
有时为空,有时不为空。我的实体对象定义正确吗?

ReceivedFromMember
是虚拟财产,可能在某个地方被覆盖了?您是如何使用此方法的?