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

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)