On 10/15/2007, I posted LINQ to SQL's GetOriginalEntityState Doesn't Include EntitySet or Entity Ref Data for Related Entities as Feedback on the Microsoft Connect site. There’s more detail about the bug and even a test harness at my GetOriginalEntityState() Loses EntitySet/EntityRef Data of 10/15/2007.
Lo and behold! On 11/21/2008 my morning’s e-mail contained the following:
Greetings from Microsoft Connect!
This notification was generated for the following Feedback item: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=304732 which you submitted at the Microsoft Connect site (http://connect.microsoft.com).
As Matt explains this is by design. Informatoin[sic] on the original graph is maintaned[sic] in the object tracker, but in order to return entities with entity refs and sets we would need to pull everything that is reachable. The information on modified members comes from the current graph, which actually exists in memory independently of the object tracker.
We have also verified that no spurious inserts are issued when SubmitChanges() is invoked after calling GetOriginalEntityState().
Thanks for reporting this.
The LINQ to SQL Team
The bug’s Status remains Active.
Unlike wine and whiskey, bug reports do not improve with age.