Validate() is used to validate business rules on the business object. Validates both EF entity validation rules on pending changes as well as any custom validation rules you implement in the OnValidate() method.

Do not override this method for custom Validation(). Instead override OnValidate() or add error entries to the ValidationErrors collection. <remarks> If the AutoValidate flag is set to true causes Save() to automatically call this method. Must be overridden to perform any validation. </remarks>