Meine Klassen sind so entworfen:Holen Eigentum Eigentum
public class Video {
public int Id {get; set;}
public string Title {get; set;}
public int PlaylistId {get; set;}
[ForeignKey("PlaylistId")]
public Playlist Playlist {get; set;}
}
public class Playlist {
public int Id {get; set;}
public string Description {get; set;}
public List<Video> Videos {get; set;}
public Playlist() {
Videos = new List<Video>();
}
}
Und nun können einige Objekte erstellen:
Video video = new Video();
video.Title = "Titanic";
Playlist playlist = new Playlist();
playlist.Description = "Best videos";
playlist.Videos.Add(video);
context.Playlists.Add(playlist);
context.SaveChanges();
Das Problem ist, ich video.Playlist
Bezug aus meiner Datenbank Kontext erhalten kann nicht. Natürlich könnte ich eine Methode hinzufügen, um die gewünschte Eigenschaft zu erhalten:
public static Playlist GetPlaylist(int videoId) {
using (var context = new DatabaseContext()) {
Video video = context.Videos.FirstOrDefault(x => x.Id == videoId);
return context.Playlists.FirstOrDefault(x => x.Id == video.PlaylistId);
}
}
Aber ich denke, es muss eine bessere Lösung geben. Kannst du mir damit helfen?