В вашей модели Linq-to-SQL каждое свойство каждой сущности имеет частичный метод , называемый "(имя свойства) Changed ()".
Частичные методы - это новая особенность C # 3.0 - это методы, которые определены, но не обязательно имеют фактическую реализацию. Если у них нет реализации, любой вызов к ним будет отброшен на этапе компоновки вашего процесса сборки.
Однако, если вы предоставляете реализацию, то эта реализация действительно называется. Поскольку ваши классы сущностей, такие как Order
, являются частичными классами, вы можете легко создать свой собственный дополнительный частичный класс и определить эти методы.
Так что в вашем случае вы найдете OrderDateChanged()
, CancelDateChanged()
и ShipDateChanged()
.
Из этих методов вы можете легко вызвать метод с именем CalculateLastActionDate()
, который при необходимости вычислит вашу новую дату. Должно быть довольно легко.
public partial class Order
{
void OrderDateChanged()
{
CalculateLastActionDate();
}
......
private void CalculateLastActionDate()
{
... your implementation here
}
}
Марк