/// <summary> Retrieves the related entity of type 'UserEntity', using a relation of type 'n:1'</summary>
        /// <param name="forceFetch">if true, it will discard any changes currently in the currently loaded related entity and will refetch the entity from the persistent storage</param>
        /// <returns>A fetched entity of type 'UserEntity' which is related to this entity.</returns>
        public virtual UserEntity GetSingleUser_(bool forceFetch)
        {
            if( ( !_alreadyFetchedUser_ || forceFetch || _alwaysFetchUser_) && !base.IsSerializing && !base.IsDeserializing  && !base.InDesignMode)
            {
                bool performLazyLoading = base.CheckIfLazyLoadingShouldOccur(RaffleEntity.Relations.UserEntityUsingUpdatedBy);

                UserEntity newEntity = new UserEntity();
                if(base.ParticipatesInTransaction)
                {
                    base.Transaction.Add(newEntity);
                }
                bool fetchResult = false;
                if(performLazyLoading)
                {
                    fetchResult = newEntity.FetchUsingPK(this.UpdatedBy);
                }
                if(fetchResult)
                {
                    if(base.ActiveContext!=null)
                    {
                        newEntity = (UserEntity)base.ActiveContext.Get(newEntity);
                    }
                    this.User_ = newEntity;
                }
                else
                {
                    if(_user_ReturnsNewIfNotFound)
                    {
                        if(performLazyLoading || (!performLazyLoading && (_user_ == null)))
                        {
                            this.User_ = newEntity;
                        }
                    }
                    else
                    {
                        this.User_ = null;
                    }
                }
                _alreadyFetchedUser_ = fetchResult;
                if(base.ParticipatesInTransaction && !fetchResult)
                {
                    base.Transaction.Remove(newEntity);
                }
            }
            return _user_;
        }