public IEnumerable<Result> Execute(MovieDbContext context)
        {
            const string sql = @"
                select
                    [Year] as [Year],
                    sum(Gross) as [Gross]
                from
                    Movies m
                    inner join MovieCountries mc on m.Id = mc.MovieId
                    inner join Countries c on mc.CountryId = c.Id
                where
                    c.[Name] = @p0
                group by
                    [Year]
                order by
                    [Year] desc";

            return context.Database.SqlQuery<Result>(sql, country).ToArray();
        }
예제 #2
0
        static void Main(string[] args)
        {
            if (args.Length != 2)
            {
                System.Console.Out.WriteLine("Uso: efcmd [--new|--clean|--sample] dbName");
                Environment.Exit(-1);
            }

            var command = args[0];
            var dbName = args[1];

            using (var context = new MovieDbContext(dbName))
            {
                switch (command)
                {
                    case "--new":
                        System.Console.Out.WriteLine("Creating database {0}...", dbName);
                        DbTools.CreateNewDatabase(context);
                        System.Console.Out.WriteLine("Database created.");
                        break;

                    case "--clean":
                        System.Console.Out.WriteLine("Deleting all data in {0}", dbName);
                        DbTools.CleanDatabase(context);
                        System.Console.Out.WriteLine("Data deleted.");
                        break;

                    case "--sample":
                        System.Console.Out.WriteLine("Creating database {0}...", dbName);
                        DbTools.CreateNewDatabase(context);
                        System.Console.Out.WriteLine("Database created.");

                        System.Console.Out.WriteLine("Loading sample data...");
                        DbTools.LoadSampleData(context);
                        System.Console.Out.WriteLine("Sample data loaded.");
                        break;
                }
            }
        }
예제 #3
0
 public static void CleanDatabase(MovieDbContext context)
 {
     new DbCleaner(context).DeleteAllData();
 }
예제 #4
0
 public static void LoadSampleData(MovieDbContext context)
 {
     new SampleDataLoader(context).LoadData();
 }
예제 #5
0
 public static void CreateNewDatabase(MovieDbContext context)
 {
     new DropCreateDatabaseAlways<MovieDbContext>()
         .InitializeDatabase(context);
 }
 public SampleDataLoader(MovieDbContext dbContext)
 {
     this.dbContext = dbContext;
 }