У вас есть два варианта:
poco.LastModified = DateTime.Now;
в виртуальном .Save()
методе, который всем остальным придется называть Я не думаю, что есть какой-либо другой разумно безопасный и простой способ для достижения этого.
Вы должны использовать отдельное правило :
'array.*.id' => 'distinct'