Exemple #1
0
        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();
                    }
                }
            }
        }
Exemple #2
0
        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());
            }
        }
Exemple #5
0
        /// <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);
                }
            }
        }