el hace esto
public virtual int Id { get; private set; }
On Mon, Apr 18, 2011 at 8:40 PM, José F. Romaniello
<[email protected]>wrote:
> But the setter can be private?
> public virtual int Id { get; set; }
>
> 2011/4/18, Fabio Maulo <[email protected]>:
> > and
> > // This method work when Environment.UseProxyValidator is off
> > System.Type clazz = persistentClass.MappedClass;
> > foreach (Mapping.Property property in persistentClass.PropertyIterator)
> > {
> > MethodInfo method = property.GetGetter(clazz).Method;
> > if (!proxyValidator.IsProxeable(method))
> > {
> > log.Error(
> > string.Format("Getters of lazy classes cannot be final: {0}.{1}",
> > persistentClass.MappedClass.FullName,
> > property.Name));
> > }
> > method = property.GetSetter(clazz).Method;
> > if (!proxyValidator.IsProxeable(method))
> > {
> > log.Error(
> > string.Format("Setters of lazy classes cannot be final: {0}.{1}",
> > persistentClass.MappedClass.FullName,
> > property.Name));
> > }
> > }
> > there is a clear un-sync between the validator and the proxyFactory.
> > Thanks.
> >
> > On Mon, Apr 18, 2011 at 1:56 PM, Fabio Maulo <[email protected]>
> wrote:
> >
> >> every things work perfect.
> >> The "limitation"you are talking about is the same for other properties.
> We
> >> only forget to check the Id setter in case of:
> >> public virtual string YourProp
> >> {
> >> get;
> >> *private set;*
> >> }
> >>
> >> For other methods, than Id, you can see the exception message saying:
> >> method set_YourProp should be 'public/protected virtual' or 'protected
> >> internal virtual'
> >>
> >> On Mon, Apr 18, 2011 at 1:45 PM, Ricardo Peres <[email protected]>
> wrote:
> >>
> >>> Fabio,
> >>>
> >>> You mean I can't have an id property with a private setter? Is that a
> >>> removable limitation imposed by the new proxy generator? If so, I will
> >>> create a JIRA issue. To me, it is interesting to not let people
> >>> directly set values for id properties, because they normally shouldn
> >>> be set by NHibernate.
> >>> BTW, did you have the chance to look at the collection null issue?
> >>>
> >>> Many thanks!
> >>>
> >>> RP
> >>>
> >>>
> >>> On Apr 18, 5:40 pm, Fabio Maulo <[email protected]> wrote:
> >>> > The "problem" is the ProxyValidator.
> >>> > I'll fix it thanks.
> >>> >
> >>> > NOTE: I said you that private accessors can't be proxied.
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> > On Mon, Apr 18, 2011 at 12:12 PM, Ricardo Peres <[email protected]>
> >>> wrote:
> >>> > > Yes, I have. I placed a link on all these JIRA issues:
> >>> > >
> >>>
> http://cid-0450c015fc418de2.office.live.com/self.aspx/.Public/NHTest.zip.
> >>> > > Like I said, I only want a second opinion, I may be doing something
> >>> > > wrong.
> >>> >
> >>> > > RP
> >>> >
> >>> > > On Apr 18, 4:00 pm, Fabio Maulo <[email protected]> wrote:
> >>> > > > If you have a failing test we can see it.
> >>> > > > The embedded provider are passing all NH3.1 tests and more.
> >>> >
> >>> > > > On Mon, Apr 18, 2011 at 11:34 AM, Ricardo Peres <
> [email protected]>
> >>> > > wrote:
> >>> > > > > Fabio,
> >>> >
> >>> > > > > The current trunk version has problems with lazy loading as
> well:
> >>> not
> >>> > > > > setting id properties with private setter and setting
> collections
> >>> to
> >>> > > > > null. As you know, I have created tickets for this and have
> made
> >>> > > > > available a demo project. This behavior does not happen with
> the
> >>> > > > > Castle bytecode provider as of NHibernate version 3.1 or with
> >>> > > > > lazy
> >>> > > > > loading disabled. As I said, I may have done something wrong,
> >>> though,
> >>> > > > > and the erroneous behavior can be my fault.
> >>> >
> >>> > > > > RP
> >>> >
> >>> > > > > On Apr 18, 3:01 pm, Fabio Maulo <[email protected]> wrote:
> >>> > > > > > What mean "old"? how much it is old ?
> >>> > > > > > Try the version deployed with NH3.1.0 and only change the
> >>> signature
> >>> > > of
> >>> > > > > one
> >>> > > > > > proxy-factory method.
> >>> >
> >>> > > > > > On Mon, Apr 18, 2011 at 8:15 AM, Ricardo Peres <
> >>> [email protected]>
> >>> > > > > wrote:
> >>> > > > > > > Did you try defining your entity as lazy="true"?
> >>> > > > > > > It must be lazy in order to use lazy properties.
> >>> > > > > > > However, I do think there's a bug with Castle bytecode
> >>> provider,
> >>> > > and I
> >>> > > > > > > have submitted a JIRA issue:
> >>> http://216.121.112.228/browse/NH-2646.
> >>> >
> >>> > > > > > > RP
> >>> >
> >>> > > > > > > On Apr 18, 9:45 am, kor <[email protected]> wrote:
> >>> > > > > > > > i have a problem, probably about proxy dll conflict (i'm
> >>> writing
> >>> > > > > here,
> >>> > > > > > > > not in jira, becouse i think that is not a bug, only a
> >>> > > configuration
> >>> > > > > > > > problem).
> >>> > > > > > > > i'm using .net 2.0, with the version 3.1.0.4000 all
> works,
> >>> with
> >>> > > the
> >>> > > > > > > > new version (built by myself or downloaded by nhforge) i
> >>> have a
> >>> > > > > > > > problem when using Session.Get
> >>> > > > > > > > for a class that has a property with lazy="true".
> >>> >
> >>> > > > > > > > with the new nh version i have this exception
> >>> > > > > > > > NHibernate.Exceptions.GenericADOException : could not
> load
> >>> an
> >>> > > entity:
> >>> > > > > > > > ***
> >>> > > > > > > > ----> System.NotSupportedException : Specified method
> is
> >>> not
> >>> > > > > > > > supported.
> >>> > > > > > > > at
> >>> > > NHibernate.Loader.Loader.LoadEntity(ISessionImplementor
> >>> > > > > > > session,
> >>> > > > > > > > Object id, IType identifierType, Object optionalObject,
> >>> String
> >>> > > > > > > > optionalEntityName, Object optionalIdentifier,
> >>> IEntityPersister
> >>> > > > > > > > persister)
> >>> > > > > > > > at
> >>> >
> >>> > > > >
> >>> NHibernate.Loader.Entity.AbstractEntityLoader.Load(ISessionImplementor
> >>> > > > > > > > session, Object id, Object optionalObject, Object
> >>> optionalId)
> >>> > > > > > > > at
> >>> > > NHibernate.Loader.Entity.AbstractEntityLoader.Load(Object
> >>> > > > > id,
> >>> > > > > > > > Object optionalObject, ISessionImplementor session)
> >>> > > > > > > > at
> >>> > > > > > >
> >>> NHibernate.Persister.Entity.AbstractEntityPersister.Load(Object
> >>> > > > > > > > id, Object optionalObject, LockMode lockMode,
> >>> ISessionImplementor
> >>> > > > > > > > session)
> >>> > > > > > > > at
> >>> >
> >>> > >
> >>>
> NHibernate.Event.Default.DefaultLoadEventListener.LoadFromDatasource(LoadEv
> >>> > > > > > > ent
> >>> > > > > > > > event, IEntityPersister persister, EntityKey keyToLoad,
> >>> LoadType
> >>> > > > > > > > options)
> >>> > > > > > > > at
> >>> > > > > > >
> >>> NHibernate.Event.Default.DefaultLoadEventListener.DoLoad(LoadEvent
> >>> > > > > > > > event, IEntityPersister persister, EntityKey keyToLoad,
> >>> LoadType
> >>> > > > > > > > options)
> >>> > > > > > > > at
> >>> > > > > > >
> >>> NHibernate.Event.Default.DefaultLoadEventListener.Load(LoadEvent
> >>> > > > > > > > event, IEntityPersister persister, EntityKey keyToLoad,
> >>> LoadType
> >>> > > > > > > > options)
> >>> > > > > > > > at
> >>> >
> >>> > > > >
> >>> NHibernate.Event.Default.DefaultLoadEventListener.ProxyOrLoad(LoadEvent
> >>> > > > > > > > event, IEntityPersister persister, EntityKey keyToLoad,
> >>> LoadType
> >>> > > > > > > > options)
> >>> > > > > > > > at
> >>> > > > > > >
> >>> NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent
> >>> > > > > > > > event, LoadType loadType)
> >>> > > > > > > > at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent
> >>> event,
> >>> > > > > LoadType
> >>> > > > > > > > loadType)
> >>> > > > > > > > at NHibernate.Impl.SessionImpl.Get(String
> >>> entityName,
> >>> > > Object
> >>> > > > > id)
> >>> > > > > > > > at NHibernate.Impl.SessionImpl.Get(Type
> >>> > > > > > > > entityClass,
> >>> > > Object
> >>> > > > > id)
> >>> > > > > > > > at NHibernate.Impl.SessionImpl.Get[T](Object id)
> >>> > > > > > > > --NotSupportedException
> >>> > > > > > > > at
> >>> >
> >>> > > > >
> >>> NHibernate.Proxy.AbstractProxyFactory.GetFieldInterceptionProxy(Object
> >>> > > > > > > > instanceToWrap)
> >>> > > > > > > > at
> NHibernate.Tuple.PocoInstantiator.Instantiate()
> >>> > > > > > > > at
> >>> NHibernate.Tuple.PocoInstantiator.Instantiate(Object
> >>> > > id)
> >>> > > > > > > > at
> >>> > > > > > >
> >>> NHibernate.Tuple.Entity.AbstractEntityTuplizer.Instantiate(Object
> >>> > > > > > > > id)
> >>> > > > > > > > at
> >>> >
> >>> > > > >
> >>> NHibernate.Persister.Entity.AbstractEntityPersister.Instantiate(Object
> >>> > > > > > > > id, EntityMode entityMode)
> >>> > > > > > > > at
> >>> > > NHibernate.Impl.SessionImpl.Instantiate(IEntityPersister
> >>> > > > > > > > persister, Object id)
> >>> > > > > > > > at NHibernate.Impl.SessionImpl.Instantiate(String
> >>> clazz,
> >>> > > > > Object
> >>> > > > > > > id)
> >>> > > > > > > > at
> >>> > > NHibernate.Loader.Loader.InstanceNotYetLoaded(IDataReader
> >>> > > > > dr,
> >>> > > > > > > > Int32 i, ILoadable persister, EntityKey key, LockMode
> >>> lockMode,
> >>> > > > > String
> >>> > > > > > > > rowIdAlias, EntityKey optionalObjectKey, Object
> >>> optionalObject,
> >>> > > IList
> >>> > > > > > > > hydratedObjects, ISessionImplementor session)
> >>> > > > > > > > at NHibernate.Loader.Loader.GetRow(IDataReader
> rs,
> >>> > > > > ILoadable[]
> >>> > > > > > > > persisters, EntityKey[] keys, Object optionalObject,
> >>> EntityKey
> >>> > > > > > > > optionalObjectKey, LockMode[] lockModes, IList
> >>> hydratedObjects,
> >>> > > > > > > > ISessionImplementor session)
> >>> > > > > > > > at
> >>> > > NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader
> >>> > > > > > > > resultSet, ISessionImplementor session, QueryParameters
> >>> > > > > > > > queryParameters, LockMode[] lockModeArray, EntityKey
> >>> > > > > > > > optionalObjectKey, IList hydratedObjects, EntityKey[]
> keys,
> >>> > > Boolean
> >>> > > > > > > > returnProxies)
> >>> > > > > > > > at
> >>> NHibernate.Loader.Loader.DoQuery(ISessionImplementor
> >>> > > > > session,
> >>> > > > > > > > QueryParameters queryParameters, Boolean returnProxies)
> >>> > > > > > > > at
> >>> >
> >>> > >
> >>>
> NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImp
> >>> > > > > > > lementor
> >>> > > > > > > > session, QueryParameters queryParameters, Boolean
> >>> returnProxies)
> >>> > > > > > > > at
> >>> > > NHibernate.Loader.Loader.LoadEntity(ISessionImplementor
> >>> > > > > > > session,
> >>> > > > > > > > Object id, IType identifierType, Object optionalObject,
> >>> String
> >>> > > > > > > > optionalEntityName, Object optionalIdentifier,
> >>> IEntityPersister
> >>> > > > > > > > persister)
> >>> >
> >>> > > > > > > > i'm using this nhibernate cfg
> >>> > > > > > > > <session-factory>
> >>> > > > > > > > <property
> >>> >
> >>> > >
> >>>
> name="connection.provider">NHibernate.Connection.DriverConnectionProvider</
> >>> > > > > > > > property>
> >>> > > > > > > > <property
> >>> >
> >>> > > > >
> >>> name="connection.driver_class">NHibernate.Driver.FirebirdClientDriver</
> >>> > > > > > > > property>
> >>> > > > > > > > <property
> >>> > > name="connection.isolation">ReadCommitted</property>
> >>> > > > > > > > <property
> >>> > > name="connection.connection_string_name">FbConnection</
> >>> > > > > > > > property>
> >>> > > > > > > > <property name="show_sql">false</property>
> >>> > > > > > > > <property
> >>> name="dialect">NHibernate.Dialect.FirebirdDialect</
> >>> > > > > > > > property>
> >>> > > > > > > > <property name="command_timeout">444</property>
> >>> > > > > > > > <property name="query.substitutions">true 1, false 0,
> >>> yes 1,
> >>> > > no
> >>> > > > > 0</
> >>> > > > > > > > property>
> >>> > > > > > > > <property
> >>> >
> >>> > >
> >>>
> name="current_session_context_class">NHibernate.Context.CallSessionContext,
> >>> > > > > > > > NHibernate</property>
> >>> > > > > > > > <property
> >>> >
> >>> > >
> >>>
> name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFa
> >>> > > > > > > ctory,
> >>> > > > > > > > NHibernate.ByteCode.Castle</property>
> >>> > > > > > > > <mapping assembly="***" />
> >>> > > > > > > > </session-factory>
> >>> >
> >>> > > > > > > > note (i think that the problem is here): i'm referencing
> >>> > > > > > > > NHibernate.ByteCode.Castle.dll 3.1.0.4000 becouse i
> didn't
> >>> find
> >>> > > a
> >>> > > > > new
> >>> > > > > > > > version
> >>> >
> >>> > > > > > > > do samebody knows what i have wrong?
> >>> > > > > > > > thanks
> >>> >
> >>> > > > > > > --
> >>> > > > > > > You received this message because you are subscribed to the
> >>> Google
> >>> > > > > Groups
> >>> > > > > > > "nhusers" group.
> >>> > > > > > > To post to this group, send email to
> [email protected]
> >>> .
> >>> > > > > > > To unsubscribe from this group, send email to
> >>> > > > > > > [email protected].
> >>> > > > > > > For more options, visit this group at
> >>> > > > > > >http://groups.google.com/group/nhusers?hl=en.
> >>> >
> >>> > > > > > --
> >>> > > > > > Fabio Maulo
> >>> >
> >>> > > > > --
> >>> > > > > You received this message because you are subscribed to the
> >>> > > > > Google
> >>> > > Groups
> >>> > > > > "nhusers" group.
> >>> > > > > To post to this group, send email to [email protected].
> >>> > > > > To unsubscribe from this group, send email to
> >>> > > > > [email protected].
> >>> > > > > For more options, visit this group at
> >>> > > > >http://groups.google.com/group/nhusers?hl=en.
> >>> >
> >>> > > > --
> >>> > > > Fabio Maulo
> >>> >
> >>> > > --
> >>> > > You received this message because you are subscribed to the Google
> >>> Groups
> >>> > > "nhusers" group.
> >>> > > To post to this group, send email to [email protected].
> >>> > > To unsubscribe from this group, send email to
> >>> > > [email protected].
> >>> > > For more options, visit this group at
> >>> > >http://groups.google.com/group/nhusers?hl=en.
> >>> >
> >>> > --
> >>> > Fabio Maulo
> >>>
> >>> --
> >>> You received this message because you are subscribed to the Google
> Groups
> >>> "nhusers" group.
> >>> To post to this group, send email to [email protected].
> >>> To unsubscribe from this group, send email to
> >>> [email protected].
> >>> For more options, visit this group at
> >>> http://groups.google.com/group/nhusers?hl=en.
> >>>
> >>>
> >>
> >>
> >> --
> >> Fabio Maulo
> >>
> >>
> >
> >
> > --
> > Fabio Maulo
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "nhusers" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> > http://groups.google.com/group/nhusers?hl=en.
> >
> >
>
> --
> Enviado desde mi dispositivo móvil
>
> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.
>
>
--
Fabio Maulo
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.