Is there any other part of the story you want say us ?WCF ?
Tests to recreate the exception ?

2009/6/4 Chris <[email protected]>

>
> I have a weird exception that’s being thrown from NHibernate where it
> seems to not be able to lookup one of its own classes. The background
> is that I have 2 objects Users & Groups mapped to corresponding
> tables. On each, there’s a many-to-many bag that uses another table to
> maintain relationship. In each class, the corresponding bag is mapped
> to a System.Collections.IList.  The problem is that if I add a user to
> a group, the unknown entity class exception (see subject) is thrown.
> However, if I add a group to a user, all works as expected.
> Additionally, I can remove a user from a group w/o error. It’s only
> upon addition that it crops up. Most of the knowledge base I’ve seen
> around this usually is a result of mapping incorrectly, but I’m pretty
> sure this mapping is setup ok. Any help is appreciated.
>
> Exception:
> [04/Jun/2009:15:34:38.187] (8   ) ERROR - could not synchronize
> database state with session
> NHibernate.MappingException: Unknown entity class:
> NHibernate.Collection.PersistentBag
>   at NHibernate.Impl.SessionFactoryImpl.GetEntityPersister(Type
> theClass)
>   at NHibernate.Impl.SessionImpl.GetClassPersister(Type theClass)
>   at NHibernate.Impl.SessionImpl.GetEntityPersister(Object obj)
>   at NHibernate.Impl.SessionImpl.GetEntityIdentifierIfNotUnsaved
> (Object obj)
>   at NHibernate.Type.EntityType.GetIdentifier(Object value,
> ISessionImplementor session)
>   at NHibernate.Type.ManyToOneType.NullSafeSet(IDbCommand st, Object
> value, Int32 index, Boolean[] settable, ISessionImplementor session)
>   at
> NHibernate.Persister.Collection.AbstractCollectionPersister.WriteElement
> (IDbCommand st, Object elt, Int32 i, ISessionImplementor session)
>   at
> NHibernate.Persister.Collection.AbstractCollectionPersister.Recreate
> (IPersistentCollection collection, Object id, ISessionImplementor
> session)
>   at NHibernate.Impl.ScheduledCollectionUpdate.Execute()
>   at NHibernate.Impl.SessionImpl.Execute(IExecutable executable)
>   at NHibernate.Impl.SessionImpl.ExecuteAll(IList list)
>   at NHibernate.Impl.SessionImpl.Execute()
>
> XML mapping:
>  <class name="MiCo.MiForms.Server.MFSUser, DataCore"
> table="mfs_user">
>    <id name="ID" column="id_mfs_user" type="Int32">
>      <generator class="native" />
>    </id>
>    <bag name="Groups" table="user_to_group">
>      <key column="id_mfs_user"/>
>      <many-to-many class="MiCo.MiForms.Server.MFSGroup, DataCore"
> column="id_mfs_group" />
>    </bag>
>  </class>
>
>  <class name="MiCo.MiForms.Server.MFSGroup, DataCore"
> table="mfs_group">
>    <id name="ID" column="id_mfs_group" type="Int32">
>      <generator class="native" />
>    </id>
>    <bag name="Users" table="user_to_group">
>      <key column="id_mfs_group"/>
>      <many-to-many class="MiCo.MiForms.Server.MFSGroup, DataCore"
> column="id_mfs_group"  />
>    </bag>
>  </class>
>
> >
>


-- 
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to