示例#1
0
 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();
 }
示例#2
0
文件: Program.cs 项目: Etidur/dotNet
        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();
        }
示例#3
0
 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();
 }
示例#4
0
文件: Program.cs 项目: Etidur/dotNet
        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();
        }
示例#5
0
        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);
                }
            }
        }