.Net 4 Динамические объекты с LinqToSql? - PullRequest
1 голос
/ 07 июля 2010

В нашем приложении Smartclient в настоящее время мы используем PostSharp для вставки кода получения / установки в автоматические свойства для реализации отслеживания состояний Dirty и событий INotifyPropertyChanged.

Мы часто используем эти бизнес-объекты с LinqToSql. Мы хотели бы удалить эту зависимость от Postsharp, и .Net 4.0 ExpandoObject выглядит идеально. Мы можем добавить динамические свойства и добавить пользовательский код get / set без необходимости повторять его для каждого свойства для реализации HasChanged ().

Мой вопрос такой; Как мы получаем экземпляры динамического ExpandoObject из LinqToSql? Это вообще возможно?

Если нет, есть ли другой способ, которым это может быть достигнуто? у нас в основном есть бизнес-объекты с 50-100 свойствами на каждом, и нам нужно реализовать INotifyPropertyChanged без сотен строк повторяющегося кода

1 Ответ

0 голосов
/ 16 июля 2010

Похоже, что сейчас есть три способа сделать это

  1. Прокси-объекты, например, Castle Dynamic proxy
  2. Генерация кода, например, шаблоны T4
  3. Плетение коданапример Postsharp

Postsharp, кажется, является хорошим методом для нас, поскольку мы получаем желаемое поведение, используя конструктор defaukt, и нам не нужно беспокоиться о поддержке сгенерированного кода.Мы просто добавляем атрибут к объекту POCO и просто забываем об этом.

...