Ejemplo n.º 1
0
        public static void Main()
        {
            using (var connection = new SqliteConnection("DataSource=:memory:"))
            {
                connection.Open();

                var context = StudentDbContext.Create(connection);

                var classes = new ClassRepository(context);
                classes.Create(new Class {
                    Id = 1, Name = "Math"
                });
                classes.Create(new Class {
                    Id = 2, Name = "History"
                });

                var students = new StudentRepository(context);

                var math    = classes.Get(1);
                var history = classes.Get(2);

                var jim = new Student
                {
                    Id      = 1,
                    Name    = "Jim Doe",
                    Classes = new List <Class> {
                        math, history
                    }
                };
                students.Create(jim);

                var nextOfKins = students.Get(1);
                nextOfKins.NextOfKins =
                    new List <NextOfKin> {
                    NextOfKin.Create("John Doe"), NextOfKin.Create("Jane Doe")
                };
                students.Update(nextOfKins);

                var residence = students.Get(1);
                nextOfKins.Hometown = City.Create("Oslo");
                students.Update(nextOfKins);

                new StudentReport(connection, 1).Write();
                new ClassesReport(connection).Write();

                Console.Out.WriteLine("Classes: " + context.Classes.Count());
                Console.Out.WriteLine("Students: " + context.Students.Count());
            }
        }