It is currently 21 April 2025, 8:45 Advanced search

DO Master-Detail: valorizzazione FK

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

DO Master-Detail: valorizzazione FK

Postby d.termini » 2 April 2025, 10:48

InDe 24.0, .Net 4

E anche stavolta per la serie "Non riesco a capire perché ogni tanto succede e ogni tanto no", mi trovo con una classe figlia con i campi della FK verso il padre non valorizzati.
Ho una gerarchia master-detail semplice, classi DO create trascinando tabella, collection figli creata trascinando classe figlia su padre, tutto nella norma...

Non ho una videata perché devo fare questa operazione in batch, quindi non ho provato se "a mano" funziona.

Da codice richiamo una funzione a cui passo i dati di testa e una collection di righe (per intenderci tipo l'evasione di un ordine).
- creo la testa valorizzando tutti i dati che mi servono (compresi i campi della chiave primaria composta, eh, qui non ho DocID purtroppo), debuggando ho avuto la certezza che tutto fosse valorizzato come dovrebbe.
- ciclo foreach sulla collection di origine, istanzio una classe detail per ogni record e la aggiungo alla collection del padre nel seguente modo:
Code: Select all
foreach doc in coll
  var figlio = new()
  figlio.init()
  padre.dettaglio.add(figlio)
  figlio.beginTransaction()
  figlio.prop1 = doc.prop1
  ...
  figlio.validate(1,0)

E ottengo "il campo xyz non può essere null" per ogni campo della FK verso il padre.
Devo gestirli su onAddChild come ho dovuto fare in altre occasioni (ma non tutte!)?
Ovviamente già provato a disattivare freezeEvents sia su master che su detail e cambiare validazione da 1 a 0, spostato anche l'add sulla collection dentro e fuori transazione...
Sono abbastanza sicuro che il framework lo faccia da solo, solo che non so quando lo fa, probabilmente su beforeSave perché fino a quel momento la chiave può ancora cambiare e quindi deve propagarla ai figli nel momento giusto.
Solo che ho la necessità di validare tutto prima di tentare di salvare.

PS: stessa cosa sta succedendo al collega, lì lavora con DocID
d.termini
 
Posts: 1638
Joined: 13 November 2017, 8:41

Re: DO Master-Detail: valorizzazione FK

Postby r.bianco » 3 April 2025, 7:20

Nel ciclo, valorizza tu la fk verso il padre, così passi la validazione. Verifica che poi il framework la sistemi per bene.
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4962
Joined: 8 November 2010, 16:46

Re: DO Master-Detail: valorizzazione FK

Postby d.termini » 3 April 2025, 7:28

Eh sì, tocca far così.
Grazie Ric :)
d.termini
 
Posts: 1638
Joined: 13 November 2017, 8:41


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot] and 43 guests