我无法理解为什么在实际应用SaveChanges方法之前未检测到更改。我只是在测试周围的东西。这是代码:
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);
输出为“未更改”。当然,如果我保存更改,数据库将会更新。
答案 0 :(得分:1)
也许这个解释可以提供帮助:http://blog.oneunicorn.com/2012/03/10/secrets-of-detectchanges-part-1-what-does-detectchanges-do/
答案 1 :(得分:1)
您的问题没有解释实际要求。您可以找到答案 here