private void SetOppositeObjectID(ObjectID value)
 {
     ForeignKeyDataContainer.SetValue(_propertyDefinition, value); // TODO 4608: This is with events, which is a little inconsistent to OppositeObjectID
 }
 public override void Rollback()
 {
     ForeignKeyDataContainer.RollbackValue(PropertyDefinition);
     Assertion.IsFalse(HasBeenTouched);
     Assertion.IsFalse(HasChanged);
 }
        protected override void SetOppositeObjectDataFromSubTransaction(IObjectEndPoint sourceObjectEndPoint)
        {
            var sourceAsRealObjectEndPoint = ArgumentUtility.CheckNotNullAndType <RealObjectEndPoint> ("sourceObjectEndPoint", sourceObjectEndPoint);

            ForeignKeyDataContainer.SetValueDataFromSubTransaction(PropertyDefinition, sourceAsRealObjectEndPoint.ForeignKeyDataContainer);
        }
 public override void Touch()
 {
     ForeignKeyDataContainer.TouchValue(PropertyDefinition);
     Assertion.IsTrue(HasBeenTouched);
 }