static void Main(string[] args)
        {
            VidzyContext vidzyContext = new VidzyContext();
            var tags = new List<Tag>();

            Video video = new Video
            {
                Classification = Classification.Gold,
                Genre = new Genre {Name = "Action"},
                Name = "golsden eye",
                ReleaseDate = DateTime.Now,
            };
            vidzyContext.Videos.Add(video);
            vidzyContext.SaveChanges();
        }
예제 #2
0
        static void Main(string[] args)
        {
            using (VidzyContext context = new VidzyContext())
            {
                var action = context.Genres.FirstOrDefault(g => g.Name == "Action");
                var comedy = context.Genres.FirstOrDefault(g => g.Name == "Comedy");
                var family = context.Genres.FirstOrDefault(g => g.Name == "Family");

                context.Videos.Add(new Video {
                    Name = "Bahubali", ReleaseDate = DateTime.Now.AddYears(-4), Classification = Classification.Platinum, Genre = action
                });
                context.Videos.Add(new Video {
                    Name = "Thanmatra", ReleaseDate = DateTime.Now.AddYears(-20), Classification = Classification.Gold, Genre = family
                });
                context.Videos.Add(new Video {
                    Name = "Johny English", ReleaseDate = DateTime.Now.AddYears(-6), Classification = Classification.Silver, Genre = comedy
                });

                context.SaveChanges();
            }
        }
예제 #3
0
        public static void Main(string[] args)
        {
            using (var context = new VidzyContext())
            {
                #region Action Videos by Name
                Console.WriteLine(@"#Action Videos");

                var actionVideos = context.Videos
                                   .Where(video => video.Genre.Name == "Action")
                                   .OrderBy(video => video.Name);

                foreach (var row in actionVideos)
                {
                    Console.WriteLine($@" {row.Name}");
                }
                Console.WriteLine();
                #endregion

                #region Gold Drama Videos by Release Date
                Console.WriteLine(@"#Gold Drama Videos");

                var dramaVideos = context.Videos
                                  .Where(video => video.Genre.Name == "Drama" && video.Classification == Classification.Gold)
                                  .OrderBy(video => video.ReleaseDate);

                foreach (var row in dramaVideos)
                {
                    Console.WriteLine($@" {row.Name}");
                }
                Console.WriteLine();
                #endregion

                #region Videos with Genre
                Console.WriteLine(@"#Videos with Genre");

                var videosWithGenre = context.Videos.Join
                                      (
                    context.Genres,
                    video => video.GenreID,
                    genre => genre.ID,
                    (video, genre) => new
                {
                    VideoName  = video.Name,
                    VideoGenre = genre.Name
                }
                                      );

                foreach (var row in videosWithGenre)
                {
                    Console.WriteLine($@" {row.VideoGenre} ({row.VideoGenre})");
                }
                Console.WriteLine();
                #endregion

                #region Videos by Classification
                Console.WriteLine(@"#Videos with Genre");

                var videosByClassification = context.Videos
                                             .GroupBy(video => video.Classification)
                                             .Select(classificationGroup => new
                {
                    Classification = classificationGroup.Key,
                    Videos         = classificationGroup.OrderBy(video => video.Name)
                });

                foreach (var row in videosByClassification)
                {
                    Console.WriteLine($@" {row.Classification} ({row.Videos.Count()})");
                    foreach (var video in row.Videos)
                    {
                        Console.WriteLine($@"  {video.ID}: {video.Name} ({video.Genre.Name})");
                    }
                    Console.WriteLine();
                }
                Console.WriteLine();
                #endregion

                #region Classifications with Video Count
                Console.WriteLine(@"#Classifications with Video Count");

                var classificationsWithVideoCount = context.Videos
                                                    .GroupBy(video => video.Classification)
                                                    .Select(classification => new
                {
                    Classification = classification.Key,
                    Count          = classification.Count()
                })
                                                    .OrderByDescending(classification => classification.Count);

                foreach (var row in classificationsWithVideoCount)
                {
                    Console.WriteLine($@" {row.Classification} ({row.Count})");
                }
                Console.WriteLine();
                #endregion

                #region Genres with Video Count
                Console.WriteLine(@"#Genres with Video Count");

                var genresWithVideoCount = context.Genres
                                           .GroupJoin
                                           (
                    context.Videos,
                    genre => genre.ID,
                    video => video.GenreID,
                    (genre, videos) => new
                {
                    Genre = genre.Name,
                    Count = videos.Count()
                }
                                           )
                                           .OrderByDescending(genre => genre.Count);

                foreach (var row in genresWithVideoCount)
                {
                    Console.WriteLine($@" {row.Genre} ({row.Count})");
                }
                Console.WriteLine();
                #endregion
            }
        }