2014-01-10 111 views
1

我無法理解在實際應用SaveChanges方法之前未檢測到更改。我只是在測試。以下是代碼:使用DBContext檢測更改

Lodging query = context.Lodgings.SingleOrDefault(d => d.LodgingName == "Hotel4"); 
context.Entry(query).Reference(l=>l.Destination).Load(); 

Console.WriteLine(query.Destination.DestinationName); 
query.Destination.DestinationName = "Some Where Else"; 
Console.WriteLine(context.Entry(query).State); 

Console.WriteLine(query.Destination.DestinationName); 
context.ChangeTracker.DetectChanges(); 
Console.WriteLine(context.Entry(query).State); 
Console.WriteLine(query.Destination.DestinationName); 

輸出「未更改」。當然,如果我保存更改,數據庫將被更新。

回答

1

你的問題犯規有關實際requirement.May解釋是,你會找到答案 here