Ho usato Laravel in passato e ho adorato le loro caratteristiche di relazioni polimorfiche .
Le relazioni polimorfiche consentono a un modello di appartenere a più di un altro modello su una singola associazione. Ad esempio, immagina che gli utenti della tua applicazione possano "commentare" sia i post che i video. Utilizzando le relazioni polimorfiche, è possibile utilizzare una singola tabella di commenti per entrambi questi scenari.
Esiste qualcosa di simile in Entity Framework Core? Sto usando il loro primo approccio al codice. Grazie
Forse è troppo tardi, ma potrebbe comunque essere utile per qualcuno con la stessa domanda.
Non c'è sicuramente modo di farlo ed è chiamato TPH è possibile trovare ulteriori informazioni su come farlo qui https://docs.microsoft.com/en-us/ef/core/modeling/relational/inheritance .
Tuttavia presenta 1 svantaggio principale se si desidera utilizzare 1 tabella per 2 entità (2 tabelle padre), quindi non è possibile avere un vincolo ForeginKey nella tabella dei commenti.
Il modo in cui è possibile eseguire l'installazione consiste nell'avere 2 colonne nella tabella 1 dei commenti denominata EntityType e LinkId. La colonna EntityType sarebbe la colonna Discriminator e ti dirà a quale tabella genitore questo commento appartiene a un post o a un video. e il LinkId indicherà a quale record nella tabella Video appartiene il Commento
Spero che questo risponda.
Ho lo stesso problema e ho trovato 3 possibili soluzioni:
IComentableObject
. Tabella dei commenti del modello in questo modo:
Comments(CommentID, ..., PostID, VideoID)
Il modello TPH si applica qui?