static void Main(string[] args) { Console.WriteLine(NetFloxEntities.DbFilePath); using (var context = new NetFloxEntities()) { var query = "stan"; var result = context.Celebrites .Where(c => EF.Functions.Like(c.Nom, $"%{query}%")) .OrderByDescending(c => c.RoleCelebriteFilms.Count) .ThenBy(c => c.Nom) .ToList(); } }
static void Main(string[] args) { Console.WriteLine(NetFloxEntities.DbFilePath); using (var context = new NetFloxEntities()) { var query = "stan"; var result = context.Celebrites //.Where(c => c.DateNaissance.HasValue && c.DateNaissance.Value.Year == 1983) .Where(c => EF.Functions.Like(c.Nom, "%" + query + "%")) .OrderByDescending(c => c.RoleCelebriteFilms.Count) .ThenByDescending(c => c.Nom) .Select(c => c.Nom) .ToList(); } }
public FilmsController(NetFloxEntities context) { _context = context; }
public CelebritesController(NetFloxEntities context) { _context = context; }
public static async Task SeedDatabase(ImdbMovie[] movies, ImdbPerson[] persons) { using (var entities = new NetFloxEntities()) { await entities.Database.EnsureDeletedAsync(); await entities.Database.EnsureCreatedAsync(); entities.Utilisateurs.Add(new Utilisateur { Nom = "Demo", Prenom = "demo", AdresseEmail = "*****@*****.**", DateInscription = DateTime.Now, }); var actorRole = new Role { Id = 1, Libelle = "Acteur" }; var directorRole = new Role { Id = 2, Libelle = "Réalisateur" }; var creatorRole = new Role { Id = 3, Libelle = "Créateur" }; entities.Roles.Add(actorRole); entities.Roles.Add(directorRole); entities.Roles.Add(creatorRole); var celebrites = persons.ToDictionary(p => p.Url, p => new Celebrite { Nom = p.Name, UrlPhoto = p.Image?.ToString(), DateNaissance = p.BirthDate, }); entities.Celebrites.AddRange(celebrites.Values); foreach (var movie in movies) { var film = new Film { Titre = movie.Name, Description = movie.Description, UrlAffiche = movie.Image?.ToString(), Pays = movie.Countries.FirstOrDefault(), Annee = movie.DatePublished.Year, }; entities.Films.Add(film); var actors = movie.Actor ?.Where(p => celebrites.ContainsKey(p.Url)) .Select(p => new RoleCelebriteFilm { Film = film, Celebrite = celebrites[p.Url], Role = actorRole }) .ToList(); var directors = movie.Director ?.Where(p => celebrites.ContainsKey(p.Url)) .Select(p => new RoleCelebriteFilm { Film = film, Celebrite = celebrites[p.Url], Role = directorRole }) .ToList(); var creators = movie.Creator ?.Where(p => celebrites.ContainsKey(p.Url)) .Select(p => new RoleCelebriteFilm { Film = film, Celebrite = celebrites[p.Url], Role = creatorRole }) .ToList(); if (actors != null) { entities.RoleCelebriteFilms.AddRange(actors); } if (directors != null) { entities.RoleCelebriteFilms.AddRange(directors); } if (creators != null) { entities.RoleCelebriteFilms.AddRange(creators); } } await entities.SaveChangesAsync(); } }