You could use UOW Callbacks. For example add a Insert/Update callback.
However, For what you are doing, I think the best option is to save entities separately. You can use a transaction to make sure that all your actions are atomic.
Public Shared Function Save(description As String) As Boolean
Try
Dim tx= New Transaction(IsolationLevel.ReadCommitted, "MyTx")
Dim title = New TitleEntity
title.Description = ChangeCaseClass.Titlecase(ConvertNullDbNullClass.IsNull(description))
title.Createddate = DateTimeClass.Currentdatetime()
title.Createduserid = ConstantClass.Userid
title.Modifieddate = DateTimeClass.Currentdatetime()
title.Flag = ConstantClass.Validflag
tx.Add(title);
Dim success = title.Save()
tx.Commit();
If (sucess)
// your code here
EndIf
Catch ex As Exception
ErrorHandlerClass.LogMessage(ex.Message + ex.StackTrace)
Throw
End Try
End Function