public _001_Transaction() { using (var db = new TrainintDBContext()) { db.Database.Log = Console.Write; using (var bt = db.Database.BeginTransaction()) { try { db.Database.ExecuteSqlCommand("UPDATE Users set Age = 1 where Id = 1"); db.Users.Add(new Models.User.User() { Name = "TEST" }); db.SaveChanges(); bt.Commit(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); bt.Rollback(); } } } }
void Init() { using (var db = new TrainintDBContext()) { var user = db.Users.FirstOrDefault(); PrintConsole(user); if (user != null) { var phoneOne = new Phone() { Number = "92311111" }; var phoneTwo = new Phone() { Number = "92322222" }; db.Phones.Add(phoneOne); db.Phones.Add(phoneTwo); user.Phones.Add(phoneOne); user.Phones.Add(phoneTwo); db.SaveChanges(); } user = db.Users.FirstOrDefault(x => x.Id == user.Id); PrintConsole(user); } }
void Init() { using (var db = new TrainintDBContext()) { db.UserDocument.Add(new Models.User.UserDocument() { UserId = 1, Description = "85455688", Type = UserDocument.TypeDocument.Passport }); db.SaveChanges(); } }
public _002_OneToMany() { this.Init(); using (var db = new TrainintDBContext()) { var users = db.Users.Include("Documents").ToList(); PrintConsole(users); var userFirst = users.FirstOrDefault(); userFirst.Name = "Test"; userFirst.Age = 100; db.Entry(userFirst).State = EntityState.Modified; db.SaveChanges(); PrintConsole(db.Users.Include("Documents").ToList()); } }
/// <summary> /// Когда контекст данных извлекает данные из базы данных, Entity Framework помещает извлеченные объекты в кэш и отслеживает изменения, /// которые происходят с этими объектами вплоть до использования метода SaveChanges(), /// который фиксирует все изменения в базе данных. Но нам не всегда необходимо отслеживать изменения. Например, нам надо просто вывести данные для просмотра. /// </summary> public _001_AsNoTracking() { using (var db = new TrainintDBContext()) { var user = db.Users.AsNoTracking().FirstOrDefault(); //var user = db.Users.FirstOrDefault(); foreach (var item in db.Users.ToList()) { Console.WriteLine("Name {1} Age {0}", item.Age, item.Name); } user.Age = 9999; db.SaveChanges(); foreach (var item in db.Users.ToList()) { Console.WriteLine("Name {1} Age {0}", item.Age, item.Name); } } }