ASP.NET MVC + Entity Framework com verificação de simultaneidade

Estou tentando implementar um aplicativo seguindo o exemplo desta página:http: //www.asp.net/entity-framework/tutorials/handling-concurrency-with-the-entity-framework-in-an-asp-net-mvc-applicatio

Tenho uma classe de domínio com carimbo de data e hora como campo de verificação de simultaneidade:

public class PurchaseOrder {
    [Timestamp]
    public byte[] Timestamp {get; set;}
}

No meu Edit.aspx, tenho o carimbo de data / hora como campo oculto (estou usando um modelo de exibição):

<%: Html.HiddenFor(model => model.PurchaseOrder.Timestamp) %>

Este é o meu método Edit ():

public ActionResult Edit(int id, FormCollection collection) {
     var purchaseOrder = db.PurchaseOrders.Find(id);
     UpdateModel(purchaseOrder, "PurchaseOrder", collection);

     db.Entry(purchaseOrder).State = EntityState.Modified;
     db.SaveChanges();
}

Abri a mesma página de edição em dois navegadores separados ao mesmo tempo (para que o carimbo de data e hora sejam os mesmos) e os atualizei um após o outr

Quando atualizo a segunda página, esperava uma DbUpdateConcurrencyException. Mas não estou conseguind

O que eu acho que aconteceu é que, na segunda página, estou recebendo o objeto purchaseOrder novamente do banco de dados na ação Editar:

var purchaseOrder = db.PurchaseOrders.Find(id);

Portanto, o registro de data e hora é o novo registro de data e hora devido à edição anterio

Mas esperava que o UpdateModel () substituísse o valor do carimbo de data / hora da coleção de formulário. Obviamente, este não é o cas

Como posso definir o valor do carimbo de data e hora do pedido de compra recuperado como no campo oculto, para que a simultaneidade seja detectad

questionAnswers(3)

yourAnswerToTheQuestion