webForumDet fria alternativet

Cascade delete i nhibernate

.NET

0 svar · 550 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

Hej,
Jag har en many-to-many relation mellan användare och roller via en ralationstabell.
Nu är det så att jag har raderat vissa användare och då har även roller raderats, och det var inte riktigt meningen! :OO
Jag trodde att om man raderade en användare så raderas bara relationen, inte rollen.

Hur fungerar egentligen nhibernates cascade delete i frågan?
Kollar nhibernate om andra användare också relaterar till samma roll, då raderas inte rollen, men om det är sista användaren som finns i rollen, då tas rollen bort?

Mappningen ser ut så här:

     <bag name="Roles" lazy="true" cascade="delete" generic="true" table="UsersRoles">
            <key column="UserID"/>
            <many-to-many class="Entities.UserRole, Entities" column="RoleID"/>
     </bag>

Hittade en tråd om detta. Är det ett bra sätt att ha dubbla mappningar som Justin skriver i sitt svar, en till relationstabellen och en till roller?
http://stackoverflow.com/questions/212968/many-to-many-delete-cascade-in-nhibernate

255 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)