示例#1
0
 private static void EagerLoadingDemo()
 {
     using (var entities = new Formula1v2Entities())
     {
         foreach (Racer racer in entities.Racers.Include("RaceResults.Race.Circuit"))
         {
             Console.WriteLine("{0} {1}", racer.FirstName, racer.LastName);
             foreach (RaceResult raceResult in racer.RaceResults)
             {
                 Console.WriteLine("\t{0} {1:d} {2}", raceResult.Race.Circuit.Name, raceResult.Race.Date,
                                   raceResult.Position);
             }
         }
     }
 }
示例#2
0
        private static void ChangeInformation()
        {
            using (var data = new Formula1v2Entities())
            {
                var esteban = data.Racers.Create();
                esteban.FirstName   = "Esteban";
                esteban.LastName    = "Gutierrez";
                esteban.Nationality = "Mexico";
                esteban.Starts      = 0;
                data.Racers.Add(esteban);

                var fernando = data.Racers.First(racer => racer.LastName == "Alonso");
                fernando.Wins++;
                fernando.Starts++;

                foreach (var entry in data.ChangeTracker.Entries <Racer>())
                {
                    Console.WriteLine("{0}, state: {1}", entry.Entity, entry.State);
                    if (entry.State == EntityState.Modified)
                    {
                        Console.WriteLine("Original values");
                        DbPropertyValues values = entry.OriginalValues;
                        foreach (var propertyName in values.PropertyNames)
                        {
                            Console.WriteLine("{0} {1}", propertyName, values[propertyName]);
                        }
                        Console.WriteLine();

                        Console.WriteLine("Current values");
                        values = entry.CurrentValues;
                        foreach (var propertyName in values.PropertyNames)
                        {
                            Console.WriteLine("{0} {1}", propertyName, values[propertyName]);
                        }
                    }
                }
            }
        }