I work on the Entity Framework Team at Microsoft.
One of our customers asked this question yesterday on the Entity Framework forums. There were a few details missing and so I am not completely sure I got the question right. But I think it is about an issue I have heard quite a bit, and so I think it may be useful to share my answer here for others.
Given this simple line of code (i.e. in a WinForms application):
Several things will happening under the hood:
When a binding list is created this way from a tracked query (i.e. MergeOption in the query is set to anything but NoTracking), there are several other interesting details in the behavior:
All these facts, especially #5, warrant me to give you a couple of tips:
We have a few ideas around things we may improve in future versions. Some of them you may be able to guess from this explanation. But I will save that for another post...