So after getting the datagrid to sort the ADO.NET entities correctly, another issue popped up. Changes are no longer saved back to the datacontext when a row in the datagrid is changed. I tried setting the ItemsSource of the grid to an ObservableCollection(Of Entity). Sorting works, but changes are not propagated back to the underlying data source. Any ideas?