1
Movie - ID, Name, Description, DirectorID-Fk, MusicID-Fk 
Director - ID, Name 
Music - ID, MusicName 

Maintenant j'essaye d'insérer un nouvel enregistrement au film mais je ne sais pas si le directeur est déjà existant dans la DB et même avec la musique).Insérer des données dans une table mulitple utilisant FK utilisant Entity framework

Depuis l'interface utilisateur je prends all movie information, DirectorName and MusicName.

Maintenant, quand je sauvegarde des informations, je dois vérifier si avec directorname et musicname d'abord, puis comment faire SaveChanges() au contexte. Laissez-moi savoir comment cela fonctionne.

Répondre

1

Si vous n'avez que DirectorName et MusicName, vous devez interroger la base de données pour obtenir les entrées existantes (ou pour savoir qu'elles n'existent pas encore dans la base de données). S'ils existent, ajoutez-les à votre entité de films; sinon, en créer de nouveaux et les ajouter:

var directorToAdd = context.Directors.FirstOfDefault(d => d.Name == DirectorName) ?? 
        new Director { Name = DirectorName }; 

var musicToAdd = context.MusicSet.FirstOrDefault(m => m.Name == MusicName) ?? 
       new Music { Name = MusicName }; 

movie.Director = directorToAdd; 
movie.Music = musicToAdd; 

context.AddToMovies(movie); 
context.SaveChanges(); 
Questions connexes