示例#1
0
        /// <summary>
        /// replace the default implementation of the Session Factory (read from configuration) with a user supplied one.
        /// NOTE : 이 작업은 Application 시작시에만 가능하다.
        /// </summary>
        /// <param name="cfg">instance of Configuration</param>
        /// <param name="factory">instance of ISessionFactory to regist</param>
        public virtual void RegisterSessionFactory(Configuration cfg, ISessionFactory factory)
        {
            factory.ShouldNotBeNull("factory");

            if (log.IsInfoEnabled)
            {
                log.Info("새로운 Session Factory 등록을 시도합니다... factory=[{0}]", factory.GetSessionFactoryName());
            }

            var old = _sessionFactory;

            _cfg            = cfg;
            _sessionFactory = factory;

            if (log.IsInfoEnabled)
            {
                log.Info("새로운 SesscionFactory 등록 작업이 성공했습니다!!! factory=[{0}]", factory.GetSessionFactoryName());
            }

            if (old != null)
            {
                old.Close();

                if (IsDebugEnabled)
                {
                    log.Debug("기존 Session Factory는 Close 시켰습니다.");
                }
            }
        }
示例#2
0
        /// <summary>
        /// 지정된 엔티티 형식이 <paramref name="sessionFactory"/>에 매핑된 엔티티인지 파악합니다.
        /// </summary>
        /// <param name="sessionFactory">엔티티가 매핑되었을 SessionFactory</param>
        /// <param name="entityType">엔티티의 형식</param>
        /// <returns>SessionFactory에 엔티티 형식이 매핑되었으면 True, 아니면 False</returns>
        /// <seealso cref="NHibernateProxyHelper.GetClassWithoutInitializingProxy"/>
        public static bool IsMappedEntity(this ISessionFactory sessionFactory, Type entityType)
        {
            if (entityType == null)
            {
                return(false);
            }

            if (IsDebugEnabled)
            {
                log.Debug("Current SessionFactory[{0}]에 엔티티 형식[{1}]가 매핑되었는지 확인합니다...",
                          sessionFactory.GetSessionFactoryName(), entityType.FullName);
            }

            return(sessionFactory.GetClassMetadata(entityType.GetUnproxiedType()) != null);
        }