public override INHibernateProxy GetProxy(object id, ISessionImplementor session) { try { LazyInitializer initializer = new DataBindingInterceptor(EntityName, PersistentClass, id, GetIdentifierMethod, SetIdentifierMethod, ComponentIdType, session); object generatedProxy; var list = new ArrayList(Interfaces); list.Add(typeof(INotifyPropertyChanged)); var interfaces = (System.Type[])list.ToArray(typeof(System.Type)); if (IsClassProxy) { generatedProxy = DefaultProxyGenerator.CreateClassProxy(PersistentClass, interfaces, ProxyGenerationOptions.Default, initializer); } else { generatedProxy = DefaultProxyGenerator.CreateInterfaceProxyWithoutTarget(interfaces[0], interfaces, initializer); } 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); } }
public override INHibernateProxy GetProxy(object id, ISessionImplementor session) { try { LazyInitializer initializer = new DataBindingInterceptor(EntityName, PersistentClass, id, GetIdentifierMethod, SetIdentifierMethod, ComponentIdType, session); object generatedProxy; var list = new ArrayList(Interfaces); list.Add(typeof (INotifyPropertyChanged)); var interfaces = (System.Type[]) list.ToArray(typeof (System.Type)); if (IsClassProxy) { generatedProxy = DefaultProxyGenerator.CreateClassProxy(PersistentClass, interfaces, ProxyGenerationOptions.Default, initializer); } else { generatedProxy = DefaultProxyGenerator.CreateInterfaceProxyWithoutTarget(interfaces[0], interfaces, initializer); } 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); } }