/// <summary> /// Build a proxy using the Castle.DynamicProxy library. /// </summary> /// <param name="id">The value for the Id.</param> /// <param name="session">The Session the proxy is in.</param> /// <returns>A fully built <c>INHibernateProxy</c>.</returns> public INHibernateProxy GetProxy(object id, ISessionImplementor session) { try { CastleLazyInitializer initializer = new CastleLazyInitializer(_persistentClass, id, _getIdentifierMethod, _setIdentifierMethod, session); object generatedProxy = null; if (IsClassProxy) { generatedProxy = _proxyGenerator.CreateClassProxy(_persistentClass, _interfaces, initializer, false); } else { generatedProxy = _proxyGenerator.CreateProxy(_interfaces, initializer, new object()); } initializer._constructed = true; return (INHibernateProxy) generatedProxy; } catch (Exception e) { log.Error("Creating a proxy instance failed", e); throw new HibernateException("Creating a proxy instance failed", e); } }
/// <summary> /// Build a proxy using the Castle.DynamicProxy library. /// </summary> /// <param name="id">The value for the Id.</param> /// <param name="session">The Session the proxy is in.</param> /// <returns>A fully built <c>INHibernateProxy</c>.</returns> public INHibernateProxy GetProxy(object id, ISessionImplementor session) { try { CastleLazyInitializer initializer = new CastleLazyInitializer(_persistentClass, id, _getIdentifierMethod, _setIdentifierMethod, session); object generatedProxy = null; if (IsClassProxy) { generatedProxy = _proxyGenerator.CreateClassProxy(_persistentClass, _interfaces, initializer, false); } else { generatedProxy = _proxyGenerator.CreateProxy(_interfaces, initializer, new object()); } initializer._constructed = true; return(( INHibernateProxy )generatedProxy); } catch (Exception e) { log.Error("Creating a proxy instance failed", e); throw new HibernateException("Creating a proxy instance failed", e); } }