webForumDet fria alternativet

Nhibernate autoflush problem

.NETur .NET

2 svar · 497 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#1

Tjena!

Har stött på patrull!
Jag har en databastabell med parent/child struktur.
Nu är det så att jag vill hämta upp en child och på sidan sätta dess parent temporärt till null, för att den sedan binds till en treeview som kräver att huvudnoden är just null. Lite exempelkod:

Unit root = GetById(unitID);
root.Parent = null;
return root;

Nu är det ju så finurligt/förkastligt att nhibernate sparar ju som default ALLA objekt när dess ISession flushas vilket gör att denna child uppdateras i databasen vilket raserar hierarkin helt!

Så, hur ska jag gå tillväga?

doggelitoMedlem sedan juni 20003 076 inlägg
#2

Tror jag löst det!
Anropar Evict på childobjektet efter jag använt det klart.

NickemannenMedlem sedan aug. 20003 575 inlägg
#3

Låter som att du inte borde binda dina domänobjekt direkt till vyn utan ha t.ex. viewmodel för dina noder.

Annars kan man ju lösa det så sin du beskriver med.

130 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)