Entity Framework - Track Changes
От: Аноним  
Дата: 25.03.11 12:13
Оценка:
Добрый день!
Хотел бы обратиться к тем, кто переносил или разрабатывал проекты на основе EF (желательно 4): кто как решал задачу отслеживания изменений в сущностях? Самый простой пример: пользователь меняет значение в текстовом поле на форме, после этого активируется кнопка "сохранить".
Не могу найти ни в контексте, ни в ObjectStateManager события, которое было бы схоже с ColumnChanged/ColumnChanging в классе DataTable, а эти события были очень удобны. Насколько я знаю, можно подписаться на ObjectStateManager.ObjectStateManagerChanged, чтобы отслеживать добавление и удаление сущностей, но не изменение их свойств. Буду признателен, если поделитесь опытом, кто каким образом реализовал этот функционал. Мой проект десктопный, так что я сущности никуда не пересылаю, не сериализую и т.п.
dotnet entity framework orm .net
Re: Entity Framework - Track Changes
От: HowardLovekraft  
Дата: 25.03.11 14:05
Оценка: 2 (1)
Здравствуйте, Аноним, Вы писали:

А>skipped

Не знаю, зачем вам ColumnChanged/ColumnChanging.
Связь UI-элементов и моделей (классов сущностей) обычно реализуется через INotifyPropertyChanged. Механизмы связывания (binding) есть в Windows Forms, WPF, Silverlight. Они различаются, но общий принцип такой: пользователь осуществляет ввод -> механизм binding вызывает setter свойства соответствующего объекта -> setter генерирует событие PropertyChanged.

С т. з. использования EF, дальнейшие действия зависят от способа реализации классов модели. Если вы используете:

С коллекциями — аналогиная ситуация.
Выбирайте.
Re[2]: Entity Framework - Track Changes
От: charlespetzold Россия  
Дата: 25.03.11 16:09
Оценка:
Здравствуйте, HowardLovekraft, Вы писали:

HL>Здравствуйте, Аноним, Вы писали:


А>>skipped

HL>Не знаю, зачем вам ColumnChanged/ColumnChanging.
HL>Связь UI-элементов и моделей (классов сущностей) обычно реализуется через INotifyPropertyChanged. Механизмы связывания (binding) есть в Windows Forms, WPF, Silverlight. Они различаются, но общий принцип такой: пользователь осуществляет ввод -> механизм binding вызывает setter свойства соответствующего объекта -> setter генерирует событие PropertyChanged.

HL>С т. з. использования EF, дальнейшие действия зависят от способа реализации классов модели. Если вы используете:

HL>
HL>С коллекциями — аналогиная ситуация.

HL>Выбирайте.

Да, спустя какое-то время сегодня сам наткнулся на INPC, спасибо!
Есть у меня ещё одна задача — нужно реализовать возможность отмены изменений для коллекции моих сущностей, опять же так как было в DataTable при вызове CancelChanges. Какой интерфейс в данном случае стоило бы мне реализовать, или тут всё не так просто?
Re[3]: Entity Framework - Track Changes
От: HowardLovekraft  
Дата: 25.03.11 18:44
Оценка:
Здравствуйте, charlespetzold, Вы писали:

C>Есть у меня ещё одна задача — нужно реализовать возможность отмены изменений для коллекции моих сущностей

Похожая тема
Автор: Kingofastellarwar
Дата: 10.01.11
.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.