Как определить, какие поля были изменены в объекте Linq-To-Sql

У меня есть база данных linq-to-sql, в которой я хочу зарегистрировать некоторые изменения, внесенные в объект. Прямо сейчас, я получаю обновленные объекты, читая DataContext.GetChangeSet(). Обновляет свойство, но это не дает мне поля из сущности, которые были изменены.

Есть ли способ узнать, какие поля были изменены в обновленном объекте?

Спасибо

Ответ 1

В DataTable есть метод GetModifiedMembers, который вернет список членов, которые изменились для указанного экземпляра объекта.

DataClasses1DataContext context;
Class1 instance = context.GetChangeSet().Updates.OfType<Class1>().First();
context.Class1s.GetModifiedMembers(instance);