Ciao a tutti, ho un dubbio che spero qualcuno possa aiutarmi a chiarire.
In un database ho, fra le altre, tre tabelle.
-La prima, che chiamerò T1, ha una PK composta da due colonne.
-La seconda (T2) ha una relazione molti-a-uno con la tabella T1, e la FK dovrebbe essere composta da due colonne che puntano alla PK di T1. Esiste poi una terza colonna, tale che la composizione delle due colonne che costituiscono la FK e quest'ultima, costituiscano la PK di T2.
-Ho poi una terza tabella T3 che ha una relazione molti-a-uno con T2, fatta allo stesso modo della precedente ed utilizzando gli stessi campi. Ovvero in T3 ci saranno tre colonne che costituiranno la FK, e punteranno alle tre colonne di T2 che ho elencato sopra.

Ora la domanda è questa: una situazione del genere è concretamente realizzabile con MS SQL Server, o comporta dei problemi architetturali?

E, in caso affermativo, la seconda domanda...in un progetto (non realizzato da me) .Net 5, che si interfaccia al database utilizzando EF core ed EF migrations, era stata configurata la relazione sopraindicata.
EF migrations aveva automaticamente duplicato nella tabella T2 le 2 colonne che costituiscono la FK, utilizzandone due per la rel. con T1 e due per la rel. con T3.

Ho provato a modificare la struttura, eliminando i cavi duplicati, eliminando le vecchie relazioni e aggiungendo le nuove creando una nuova migration, ma nonostante non riceva errori a terminale, la relazione T1<----T2 non viene ricreata (tenendo presente che quella T2<-------T3 c'è già).
Qualcuno saprebbe darmi un suggerimento per capire come mai?

Grazie mille.
PS. sono un nuovo utente, ma non ho trovato una sezione "presentazioni". Spero di non aver infranto le regole del forum iniziando a scrivere, ponendo una domanda cosi ingarbugliata :D
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
l'architettura, riguardo la parte SQL Server, come hai avuto gia' tu modo di constatare, e' fattibile.

Ma sinceramente non sono in grado di esprimere valutazioni riguardo EF...
prova a postare in altro gruppo di sviluppo...

salutoni romagnoli

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
Ciao Andrea, innanzitutto grazie per la risposta.
Si, in effetti per quelle che sono le mie conoscenze (limitate) di SQL, impedimenti non dovrebbero essercene.
Alla fine, facendo un po di prove, sono riuscito a creare una nuova migration che rispetta l'architettura progettata. Il problema è che non ho capito bene come ho fatto ad arrivarci.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.