Здравствуйте, Аноним, Вы писали:
А>skipped
Не знаю, зачем вам ColumnChanged/ColumnChanging.
Связь UI-элементов и моделей (классов сущностей) обычно реализуется через
INotifyPropertyChanged. Механизмы связывания (binding) есть в Windows Forms, WPF, Silverlight. Они различаются, но общий принцип такой: пользователь осуществляет ввод -> механизм binding вызывает setter свойства соответствующего объекта -> setter генерирует событие
PropertyChanged.
С т. з. использования EF, дальнейшие действия зависят от способа реализации классов модели. Если вы используете:
стандартный генератор классов модели, то ваши классы являются потомками EntityObject, и они "дергают" ObjectStateManager напрямую;
POCO + STE, то они изменения хранят "в себе" и к ObjectStateManager обращаются в момент присоединения к контексту. Вариант, более всего "заточенный" для отсоединенной работы;
"чистые" POCO (без self-tracking), то там есть варианты — snapshot-based change tracking, notification-based change tracking.
С коллекциями — аналогиная ситуация.
Выбирайте.