У меня есть требование хранить историю значений некоторых полей в приложении EF4 ASP.NET MVC3.Это просто должен быть своего рода файл журнала, регистрирующий пользователя, дату, время, имя таблицы, имя поля, старое значение, новое значение.
Хотя было бы довольно легко закодировать это в различных подпрограммах сохранения, мне интересно,Я могу получить глобальное покрытие, подключив его к какой-либо аннотации данных, так что я могу объявить
[KeepHistory()]
public string Surname { get; set; }
в своем частичном классе (я использую POCO, но сгенерирован из шаблона T4).
Итак, вопросы
1) Это плохая идея?Я в основном предлагаю побочные эффекты изменения сущности, на которую код не ссылается напрямую, в результате аннотации.
2) Можно ли это сделать?Будет ли у меня доступ к нужному контексту для связи с моей единицей работы, чтобы изменения сохранялись или удалялись при сохранении контекста?
3) Есть ли лучший способ?
4)Если вы предложите мне сделать это, любые указатели будут оценены - все, что я прочитал, предназначено для проверки, что, возможно, не лучшая отправная точка.