[Nhibernate] Impossible d'effectuer un cast d'un objet de type 'NHibernate.Collection.Generic.PersistentGeneri
Bonjour,
je comprends pas pourquoi j'ai cette erreur avec nhibernate
Citation:
Impossible d'effectuer un cast d'un objet de type 'NHibernate.Collection.Generic.PersistentGenericSet`
Mon mapping "subcription"
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true">
<class name="HPComVersion2.Bul.Entities.Subscription,HPComVersion2Bul" table ="CIS_APL" lazy="true">
<id name="Id" column="ID_APPLI" >
<generator class="native" />
</id>
<property name="Groupapply" column="ID_GROUPE_APPLI" />
<property name="NomAppli" column="LIB_APPLI" />
<set name="ListeAbo" table="CIS_ABO_UTL" inverse="true">
<key>
<column name="ID_APPLI"/>
</key>
<many-to-many class="HPComVersion2.Bul.Entities.Subscripber,HPComVersion2Bul" column="ID_UTILISATEUR"/>
</set>
</class>
</hibernate-mapping> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| Namespace Entities
Public Class Subscription
[...]
Private _listeabonne As ICollection(Of Subscripber)
[...]
Public Overridable Property ListeAbo() As ICollection(Of Subscripber)
Get
Return _listeabonne
End Get
Set(ByVal value As ICollection(Of Subscripber))
_listeabonne = value
End Set
End Property
Public Sub New()
_id = String.Empty
_groupappli = String.Empty
_libappli = String.Empty
'_listeabonne = Nothing
End Sub
End Class
End Namespace |
Ma fonction
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Public Function GetListSubcribers(ByVal nomGroupe As String) As List(Of Subscripber) Implements ISubcripbeManagementService.GetListSubcribers
'Load the configuration file hibernate.cfg.xml
Dim config As Configuration = New Configuration().Configure(System.IO.Path.GetDirectoryName(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase)) & "\hibernate.cfg.xml")
Dim factory As ISessionFactory = Nothing
Dim session As NHibernate.ISession = Nothing
Dim transaction As NHibernate.ITransaction = Nothing
Dim subscripber As ICollection(Of Subscripber)
Try
factory = config.BuildSessionFactory()
'open a session
session = factory.OpenSession()
Dim _ReturnList As IList(Of Subscription)
'On regroupe les noms des personnes de Genius HK dans celui de la France : Besoin de l'EBU
If nomGroupe.Equals("GENIUS-FRN") Or nomGroupe.Equals("GENIUS-3G") Then
_ReturnList = session.CreateCriteria(GetType(Subscription)).Add(Restrictions.Eq("Id", nomGroupe)).Add(Restrictions.Eq("Id", "GENIUS HK")). _
List(Of Subscription)()
Else
_ReturnList = session.CreateCriteria(GetType(Subscription)).Add(Restrictions.Eq("Id", nomGroupe)). _
List(Of Subscription)()
End If
subscripber = New List(Of Subscripber)()
For Each Client In _ReturnList
subscripber.Add(Client.ListeAbo)
Next
session.Close()
Catch ex As Exception
Throw ex
End Try
Return subscripber
End Function |
Comment puis-je résoudre ce problème ?
Merci à vous