public async Task Update(Film film, Film entity) { _filmsDBContext.Entry(film).State = EntityState.Modified; film.FilmId = entity.FilmId; film.Titre = entity.Titre; film.Synopsis = entity.Synopsis; film.DateParution = entity.DateParution; film.Duree = entity.Duree; film.Genre = entity.Genre; film.UrlPhoto = entity.UrlPhoto; await _filmsDBContext.SaveChangesAsync(); }
static void Main3bis(string[] args) { using (var ctx = new FilmsDBContext()) { Categorie categorieAction = ctx.Categorie.First(c => c.Nom == "Action"); Console.WriteLine("Categorie : " + categorieAction.ToString()); //Chargement des films dans categorieAction ctx.Entry(categorieAction).Collection(c => c.Film).Load(); Console.WriteLine("Films : "); foreach (var film in categorieAction.Film) { Console.WriteLine(film.ToString()); } } Console.ReadKey(); }
public async Task Update(Compte compte, Compte entity) { _filmRatingsDbContext.Entry(compte).State = EntityState.Modified; compte.Id = entity.Id; compte.Nom = entity.Nom; compte.Prenom = entity.Prenom; compte.Mel = entity.Mel; compte.Rue = entity.Rue; compte.CodePostal = entity.CodePostal; compte.Ville = entity.Ville; compte.Pays = entity.Pays; compte.Latitude = entity.Latitude; compte.Longitude = entity.Longitude; compte.Pwd = entity.Pwd; compte.TelPortable = entity.TelPortable; compte.Favoris = entity.Favoris; await _filmRatingsDbContext.SaveChangesAsync(); }
static void Main5(string[] args) { // Chargement explicite à la main Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); int count = 0; double sum = 0; string dummy = ""; using (var ctx = new FilmsDBContext()) { foreach (var u in ctx.Utilisateur) { foreach (var a in u.Avis) { count++; sum += a.Note; dummy += a.FilmNavigation.Nom.Substring(0, 2); } } } stopwatch.Stop(); int mean = (int)((sum / count) * 5); Console.WriteLine("Chargement explicite à la main - Calcul de la moyenne en {0}", stopwatch.Elapsed); // Chargement explicite stopwatch = new Stopwatch(); stopwatch.Start(); count = 0; sum = 0; dummy = ""; using (var ctx = new FilmsDBContext()) { foreach (var u in ctx.Utilisateur) { //1 Utilisateur a plusieurs avis => Collection ctx.Entry(u).Collection(util => util.Avis).Load(); foreach (var a in u.Avis) { // 1 avis a 1 film => Reference ctx.Entry(a).Reference(f => f.FilmNavigation).Load(); count++; sum += a.Note; dummy += a.FilmNavigation.Nom.Substring(0, 2); } } } stopwatch.Stop(); mean = (int)((sum / count) * 5); Console.WriteLine("Chargement explicite avec Reference et Collection - Calcul de la moyenne en {0}", stopwatch.Elapsed); // Chargement hatif stopwatch = new Stopwatch(); stopwatch.Start(); count = 0; sum = 0; dummy = ""; using (var ctx = new FilmsDBContext()) { foreach (var u in ctx.Utilisateur.Include(u => u.Avis).ThenInclude(a => a.FilmNavigation).ToList()) { foreach (var a in u.Avis) { count++; sum += a.Note; dummy += a.FilmNavigation.Nom.Substring(0, 2); } } } stopwatch.Stop(); mean = (int)((sum / count) * 5); Console.WriteLine("Chargement Hatif - Calcul de la moyenne en {0}", stopwatch.Elapsed); Console.ReadKey(); }
public void Tuto() { // Proto de select using (var ctx = new FilmsDBContext()) { // pas de changement en bdd utile pr le test ctx.ChangeTracker.QueryTrackingBehavior = Microsoft.EntityFrameworkCore.QueryTrackingBehavior.NoTracking; // Select Film titanic = ctx.Film.First(f => f.Nom.Contains("Titanic")); // Modif en local titanic.Description = $"Un bateau échoué. Date : {DateTime.Now}"; //Commit int nbChange = ctx.SaveChanges(); Console.WriteLine($"Nb de modification dans la bdd : {nbChange}"); }; using (var ctx = new FilmsDBContext()) { Categorie categorieAction = ctx.Categorie.First(c => c.Nom == "Action"); Console.WriteLine("Categorie : " + categorieAction.Nom); //Chargement des films dans categorieAction ctx.Entry(categorieAction).Collection(c => c.Film).Load(); Console.WriteLine("Films : "); foreach (var film in categorieAction.Film) { Console.WriteLine(film.Nom); } } using (var ctx = new FilmsDBContext()) { //Chargement de la catégorie Action et des films de cette catégorie Categorie categorieAction = ctx.Categorie.Include(c => c.Film).First(c => c.Nom == "Action"); Console.WriteLine("Categorie : " + categorieAction.Nom); Console.WriteLine("Films : "); foreach (var film in categorieAction.Film) { Console.WriteLine(film.Nom); } } using (var ctx = new FilmsDBContext()) { //Chargement de la catégorie Action, des films de cette catégorie et des avis Categorie categorieAction = ctx.Categorie.Include(c => c.Film).ThenInclude(f => f.Avis).First(c => c.Nom == "Action"); } using (var ctx = new FilmsDBContext()) { //Chargement de la catégorie Action Categorie categorieAction = ctx.Categorie.First(c => c.Nom == "Action"); Console.WriteLine("Categorie : " + categorieAction.Nom); Console.WriteLine("Films : "); //Chargement des films de la catégorie Action. foreach (var film in categorieAction.Film) // lazy loading initiated { Console.WriteLine(film.Nom); } } }