簡體   English   中英

具有兩個不同對象的參考的奇怪問題

[英]Strange problem with two different objects having reference

將ClaimDetail添加到tmpClaim時,也會將該ClaimDetail添加到Claim。 有人可以解釋一下為什么會這樣嗎?

List<Claim> claims; // list data
foreach ( 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 ( );
}

tmpClaim不是一個對象。 它仍然是對claims元素的引用。

從本質tmpClaim ,這意味着您對tmpClaim任何事情也在發生claims 他們是一樣的東西。

如果您不希望對tmpClaim進行更改以影響claims ,則需要創建一個new Claim (以及必要的任何復制/克隆操作)並在該新對象上進行所有工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM