2017-06-20 95 views
0

我有這樣爲什麼這些Binary/RowVersion不匹配?

   Thingy 
======================================= 
| ... |  RowVersion  | ... | 
======================================= 

和另一個表像

   Result 
======================================= 
| ... |  ThingyRowVersion  | ... | 
======================================= 

在SQL Server中的列timestamp型和C#它們是Binary型。我所看到的是一個問題,當我嘗試創建一個結果與同一行版本作爲啄,像

Result r = new Result() 
{ 
    ThingyRowVersion = (from t in Context.Thingies where t.Id == id select t.RowVersion).Single() 
} 
Context.InsertOnSubmit(r); 
Context.SubmitChanges(); 

的變化被提交後,行版本將不會是平等的權利。

在他們看來是平等的權利我提交之前C#的土地,但是當我提出我看到像

0x0000000000002787/0x0000000000002782

任何想法不一致這是怎麼回事呢?

回答

1

無論何時插入或更改行並且通常不由用戶操作,時間戳都會自動更新。對他們來說最常見的操作是在使用樂觀併發來查看自上次讀取以來該行是否已更新時用作檢查。你可能想用UniqueIdentifier之類的東西來做你想做的事。