Entity Framework e le cancellazioni a cascata

di Stefano Mostarda, in .NET,

Sono masochista oltre ogni limite: utilizzo Entity Framework e non uso il designer. Non è un problema di funzionamento del tool, è che ormai la struttura degli XML, seppur difficile all'inizio, mi è chiara e poi sono sempre i soliti 4 nodi che devo usare e grazie all'intellisense in Visual Studio è anche piuttosto facile.

Stasera per fare una prova ho voluto usare il tool visuale. Dopo aver creato la classica situazione ordini-dettagli, mi accorgo che se cancello un'ordine senza aver caricato i dettagli la cancellazione scoppia. Subito penso ad un problema di foreign key sul db, ed infatti il problema risiedeva li. tutto bello aggiorno il modello e noto che nella sezione del ssdl la delete cascade è fedelmente riportata.

Riprovo e ricevo ancora errore e qui comincio ad interrogarmi perchè non capisco il problema. Alla fine scopro che pur aggiornando il modello, nel ssdl la delete-cascad veniva corretaente riportata, menre nel csdl no, lasciando un bel buco aperto. La soluzione per me è stata semplice perchè ho cancellato il file edmx e l'ho ricreato; per quelli che non possono permettersi di fare una cosa del genere, ricordatevi di aggiornare a mano il csdl.

 <Association Name="FK_OrderDetail_Order"> 
    <End Role="Order" Type="EFInactionOrdersModel.Store.Order" Multiplicity="1"> 
        <OnDelete Action="Cascade" /> 
    </End> 
     ...
 </Association>
 

 

Stay Tuned...

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese