2010-06-13 9 views
5

Un dipendente ha una relazione inversa con il proprio dipartimento e viceversa. L'entità Employee ha una relazione denominata dipartimento e ha una regola di cancellazione DENY. Il dipendente deve essere cancellato. Ora: DENY nega effettivamente la cancellazione del dipendente, perché il dipartimento fa ancora riferimento a un dipartimento? O vuol dire che un Dipartimento non può essere cancellato perché un Dipendente lo sta riferendo?Quando la regola DENY delete nei Core Data effettivamente nega l'eliminazione di un oggetto?

risposta

6

Le regole di cancellazione vengono sempre considerate dal punto di vista dell'oggetto su cui si stanno impostando, quindi penso che la descrizione sia indietro. Quello che si vorrebbe in questa situazione è:

  • dei dipendenti può essere cancellato in qualsiasi momento ed è rapporto alla sua reparto dovrebbe essere annullato. Ciò significa che si imposta la relazione dipartimentale per annullare.

  • Il reparto può essere eliminato solo se non ha più dipendenti. Ciò richiede una regola di negazione che impedirebbe la cancellazione di un reparto se contiene qualsiasi record di dipendente.

tua descrizione implicava l'inverso che significherebbe che il dipendente non può essere cancellato se non è reparto è stato fissato a zero. Mentre è certamente possibile, sembra inutile.

+0

grande spiegazione, ma ti sei perso la parte più importante --- per impostare la regola di eliminazione di esempio (e sensibile), su quale entità e quale relazione si imposta la regola "nega"? –

+0

Sempre dalla fonte della relazione. –