Если я вас правильно понял, то настоятельно рекомендую всё-таки не делать так. Замучаетесь потом с отладкой вашего кода из-за наличия таких side effects. Да и о производительности подумайте — обращаться к базе при каждом изменении свойства это не очень хорошая идея.
Присутствие [Column] даёт возможность предположить, что вы используете linq2sql. DataContext'ы позволяют отслеживать изменения в сущностях и вносить эти изменения в базу по требованию. Так что я порекоммендовал бы вам смотреть в эту сторону.
Если же всё-таки решите использовать ваш подход, то единственное, что могу предложить — подписываться на события создаваемых/добавляемых объектов в методах чтения из БД и добавления (тут вроде всё довольно просто). Но опять же здесь всплывают лишние сложности — надо отслеживать состояние сущностей, чтобы отписываться от событий, когда они не нужны (теоретически здесь может спасти какой-нибудь Weak Event Manager), например.
Что-то совсем неясно, как вы собрались получать экземпляр Person через IUnityContainer.Resolve (btw, такого метода, без параметров или указания типа и нет вообще)
Ну и уточните, пожалуйста, саму проблему. Когда надо подписываться на события (добавление объекта в репозиторий/чтение из БД)? А лучше описание того, что должно получиться в итоге.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Присутствие [Column] даёт возможность предположить, что вы используете linq2sql. DataContext'ы позволяют отслеживать изменения в сущностях и вносить эти изменения в базу по требованию. Так что я порекоммендовал бы вам смотреть в эту сторону.
Если же всё-таки решите использовать ваш подход, то единственное, что могу предложить — подписываться на события создаваемых/добавляемых объектов в методах чтения из БД и добавления (тут вроде всё довольно просто). Но опять же здесь всплывают лишние сложности — надо отслеживать состояние сущностей, чтобы отписываться от событий, когда они не нужны (теоретически здесь может спасти какой-нибудь Weak Event Manager), например.