Unless you have this line of code nothing works

DbContext.Refresh(RefreshMode.KeepCurrentValues, p2);

http://www.richardbushnell.net/2008/02/18/how-to-update-data-with-linq-to-sql/