Есть более элегантные способы сделать это (например, используя методы кодирования Aspect), но у меня был один отдельный случай, в котором я это делал. Это стандартное обновление служб WCF RIA на стороне сервера для каждого объекта, для которого разрешено обновление.
public void UpdatePackingSlip(PackingSlip currentPackingSlip)
{
var BeforeUpdate_PackingSlip = this.ChangeSet.GetOriginal(currentPackingSlip);
//at this point you can compare the original values from the updated values, and capture
// whatever you want todo
Просто убедитесь, что вы не измените код, который присоединяет объект обратно к
контекст объекта.