Кроме Linq to SQL что-нибудь еще использует INotifyPropertyChanging? - PullRequest
2 голосов
/ 01 октября 2010

Никогда не используя INotifyPropertyChanging Мне было интересно, использует ли что-нибудь кроме Linq to SQL?

А если Linq to SQL единственный пользователь, почему * System 100 * существует в System.ComponentModel?*

http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanging.aspx

1 Ответ

1 голос
/ 02 декабря 2010

Согласно Reflector;) INotifyPropertyChanging используется в Linq to SQL и его сторонних аналогах (например, Devart.Data.Linq) для оптимизации отслеживания изменений объекта (задержка моментального снимка объекта до первого изменения).

По сути, если вы загружаете X объектов, владелец DataContext создаст X копий этих объектов (снимков), если они не реализуют INotifyPropertyChanging.

С реализованным INotifyPropertyChanging будут созданы только X PropertyChangingEventHandlers. Но как только происходит первое изменение, DataContext начинает клонировать.

Таким образом, реализация INotifyPropertyChanging имеет смысл только тогда, когда ваши классы являются объектами данных в DataContext (Linq to Sql), загруженными в больших количествах и в основном для операции чтения.

Я также хотел бы видеть дополнительную поддержку INotifyPropertyChanging в вашем проекте Weaver;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...