Bonjour,
je comprends pas pourquoi j'ai cette erreur avec nhibernate
Mon mapping "subcription"Impossible d'effectuer un cast d'un objet de type 'NHibernate.Collection.Generic.PersistentGenericSet`
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>Ma fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Comment puis-je résoudre ce problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci à vous
Partager