public Person(Guid id, PersonName name, Email email, Category category, Person manager = null, string fieldName = null) : base(id, fieldName) { Name = name; Email = email; Category = category; Manager = manager; Name?.SetFieldName(GetPropertyName(() => Name)); Email?.SetFieldName(GetPropertyName(() => Email)); Category?.SetFieldName(GetPropertyName(() => Category)); Manager?.SetFieldName(GetPropertyName(() => Manager)); Validate(); }