In the LINQ to SQL .NET Language-Integrated Query for Relational Data white paper 3.2, Because of this the DataContext manages object identity. Whenever an a new row is retrieved from the database it is logged in an identity table by its primary key and a new object is created. Whenever that same row is retrieved again the original object instance is handed back to the application. In this way the DataContext translates the database’s concept of identity (keys) into the language’s concept (instances).
Read More...