Nhibernate autoflush problem

.NET

2 svar · 512 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Trådstart#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?

Medlem sedan juni 20003 076 inlägg
#2

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

Medlem 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.

251 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)