当将 ClaimDetail 添加到 tmpClaim 时,此 ClaimDetail 也会添加到声明中。有人可以解释一下为什么会这样吗?List<Claim> claims; // list dataforeach ( Claim claim in claims) { Claim tmpClaim = datacontext.Claims.FirstOrDefault ( c => c.Id == claim.Id ); ClaimDetail claimDetail = new ClaimDetail ( ); claimDetail.ClaimDetailType = "Type"; // add claim datacontext.Claims.InsertOnSubmit ( tmpClaim ); datacontext.SubmitChanges ( );}
1 回答
月关宝盒
TA贡献1772条经验 获得超5个赞
tmpClaim
不是一个新对象。它仍然是对claims
.
这本质上意味着无论你做什么tmpClaim
也发生在claims
. 他们是一样的东西。
如果您不希望更改tmpClaim
影响claims
,则需要创建一个new Claim
(以及任何必要的复制/克隆)并在该新对象上完成所有工作。
- 1 回答
- 0 关注
- 97 浏览
添加回答
举报
0/150
提交
取消