Visualizzazione dei risultati da 1 a 10 su 25

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Allora in sintesi abbiamo una tabella (dati_in_out) padre relazionata con una tabella figlio (movimenti) tramite una FK in questo modo:

    Screenshot_1.png

    Il campo id_InOut, della tabella padre, e quello idInOut_Mov, della tabella figlio, sono collegati con una relazione "1 a molti" con impostazione "Cascade" sia sull'update che sul delete (dei record padre ovviamente).

    Sulla base di queste regole di integrità referenziale io non mi aspetto che qualche campo della tabella padre punti a qualche campo della tabella figlio, bensì l'esatto contrario!

    Per questo non capisco in che modo un campo della tabella padre possa rimanere orfano di un dato nel caso cancellassi record dalla tabella figlio.


    Un'altra cosa che non riesco a capire è l'errore che ricevo:

    Table 'finanze.finanze.movimenti' doesn't exist"

    che è lo stesso che ricevevo quando provavo a inserire la stessa entity più volte.
    Mi sarei aspettato un errore inerente relazioni ed integrità referenziale invece ogni volta che qualcosa non funziona o sbaglio qualcosa mi dice che la tabella non esiste...
    Ultima modifica di Veronica80; 12-05-2021 a 09:18

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,487
    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    Allora in sintesi abbiamo una tabella (dati_in_out) padre relazionata con una tabella figlio (movimenti) tramite una FK in questo modo [...]
    Sulla base di queste regole di integrità referenziale io non mi aspetto che qualche campo della tabella padre punti a qualche campo della tabella figlio, bensì l'esatto contrario!
    Se la foreign key è sulla seconda tabella, direi che le premesse sono corrette e quanto dici è giusto.

    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    Per questo non capisco in che modo un campo della tabella padre possa rimanere orfano di un dato nel caso cancellassi record dalla tabella figlio.
    Da quello che posso vedere, non dovrebbero esserci orfani, quindi la problematica non riguarda questo.

    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    Un'altra cosa che non riesco a capire è l'errore che ricevo:
    Table 'finanze.finanze.movimenti' doesn't exist"
    Purtroppo da questo punto di vista non posso essere molto d'aiuto perché andrebbe analizzato il database, il modello creato e il codice in quella situazione facendo debug passo per passo e verificando per gradi che ogni step sia stato fatto nel modo giusto e, quando si verifica l'errore, approfondire lo stato degli oggetti in memoria; analogamente andrebbero controllati namespace e altre proprietà degli oggetti generati da EF, la presenza di trigger su database o altre operazioni eseguite fuori dal contesto di EF, insomma bisognerebbe disporre di tutte le risorse coinvolte nella problematica e forzare anche delle convenzioni che non producano mal di pancia legati a messaggi di errore fuorvianti in seguito.

    Io adotto metodologie abbastanza rigorose con EF, ma con le informazioni fornite fin qui non riesco purtroppo a diagnosticare (al netto delle ipotesi possibili che ho già fatto) qual è l'origine dei problemi che riscontri con l'ORM.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Quote Originariamente inviata da alka Visualizza il messaggio
    Se la foreign key è sulla seconda tabella, direi che le premesse sono corrette e quanto dici è giusto.


    Da quello che posso vedere, non dovrebbero esserci orfani, quindi la problematica non riguarda questo.


    Purtroppo da questo punto di vista non posso essere molto d'aiuto perché andrebbe analizzato il database, il modello creato e il codice in quella situazione facendo debug passo per passo e verificando per gradi che ogni step sia stato fatto nel modo giusto e, quando si verifica l'errore, approfondire lo stato degli oggetti in memoria; analogamente andrebbero controllati namespace e altre proprietà degli oggetti generati da EF, la presenza di trigger su database o altre operazioni eseguite fuori dal contesto di EF, insomma bisognerebbe disporre di tutte le risorse coinvolte nella problematica e forzare anche delle convenzioni che non producano mal di pancia legati a messaggi di errore fuorvianti in seguito.

    Io adotto metodologie abbastanza rigorose con EF, ma con le informazioni fornite fin qui non riesco purtroppo a diagnosticare (al netto delle ipotesi possibili che ho già fatto) qual è l'origine dei problemi che riscontri con l'ORM.

    Si mi rendo conto che se, come pare, il codice è scritto correttamente l'eccezione sicuramente è generata in qualche meandro che tu non puoi vedere (e che io, vista la mia scarsa esperienza, non riesco ad individuare).

    Di fatto non riesco a debuggare ciò che fa il saveChanges() non essendo codice scritto da me ma procedure già impostate nel framework...

    L'unica cosa che posso provare a fare e creare un nuovo progetto con lo stessdo modello e provare a eseguire l'operazione li dove l'ambiente è ancora vergine (tanto il DB son 3 tabelle di numero non sarà una cosa lunga!).

    Grazie lo stesso! Ho fatto cmq tesoro di molti consigli!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.