示例#1
0
 public void Create_SetsEntityState_ToAdded()
 {
     using (var dbContext = new EntityDbContext())
     {
         var entity = new User {
             Name = Guid.NewGuid().ToString()
         };
         dbContext.Entry(entity).State.ShouldEqual(EntityState.Detached);
         dbContext.Create(entity);
         dbContext.Entry(entity).State.ShouldEqual(EntityState.Added);
     }
 }
示例#2
0
        public void DiscardChangesAsync_ChangesAddedEntityState_ToDetached()
        {
            using (var dbContext = new EntityDbContext())
            {
                var entity = new User {
                    Name = Guid.NewGuid().ToString()
                };
                dbContext.Create(entity);

                dbContext.Entry(entity).State.ShouldEqual(EntityState.Added);
                dbContext.DiscardChangesAsync().Wait();
                dbContext.Entry(entity).State.ShouldEqual(EntityState.Detached);
            }
        }
示例#3
0
        public void Delete_SetsEntityState_ToDeleted()
        {
            using (var dbContext = new EntityDbContext())
            {
                var entity = new User
                {
                    Name = Guid.NewGuid().ToString()
                };
                dbContext.Create(entity);
                var affectedRows = dbContext.SaveChangesAsync().Result;

                affectedRows.ShouldEqual(1);
                dbContext.Entry(entity).State.ShouldEqual(EntityState.Unchanged);
                dbContext.Delete(entity);
                dbContext.Entry(entity).State.ShouldEqual(EntityState.Deleted);
            }
        }
示例#4
0
        public void Update_SetsEntityState_ToModified()
        {
            using (var dbContext = new EntityDbContext())
            {
                var permissionName = Guid.NewGuid().ToString();
                var entity         = new Permission {
                    Name = permissionName, Description = "d1"
                };
                dbContext.Create(entity);
                var affectedRows = dbContext.SaveChangesAsync().Result;

                affectedRows.ShouldEqual(1);
                dbContext.Entry(entity).State.ShouldEqual(EntityState.Unchanged);
                dbContext.Update(entity);
                dbContext.Entry(entity).State.ShouldEqual(EntityState.Modified);
            }
        }
示例#5
0
        public void DiscardChangesAsync_ChangesModifiedEntityState_ToUnchanged()
        {
            using (var dbContext = new EntityDbContext())
            {
                var userName = Guid.NewGuid().ToString();
                var entity   = new User {
                    Name = userName
                };
                dbContext.Create(entity);
                var affectedRows = dbContext.SaveChangesAsync().Result;

                affectedRows.ShouldEqual(1);
                dbContext.Entry(entity).State.ShouldEqual(EntityState.Unchanged);
                entity.Name = Guid.NewGuid().ToString();
                dbContext.Entry(entity).State.ShouldEqual(EntityState.Modified);
                dbContext.DiscardChangesAsync().Wait();
                dbContext.Entry(entity).State.ShouldEqual(EntityState.Unchanged);
                entity.Name.ShouldEqual(userName);
            }
        }
示例#6
0
        public void ReloadAsync_ChangesModifiedEntityState_ToUnchanged()
        {
            using (var dbContext = new EntityDbContext())
            {
                var description = Guid.NewGuid().ToString();
                var entity      = new Permission {
                    Name = Guid.NewGuid().ToString(), Description = description
                };
                dbContext.Create(entity);
                var affectedRows = dbContext.SaveChangesAsync().Result;

                affectedRows.ShouldEqual(1);
                dbContext.Entry(entity).State.ShouldEqual(EntityState.Unchanged);
                entity.Description = Guid.NewGuid().ToString();
                dbContext.Entry(entity).State.ShouldEqual(EntityState.Modified);
                dbContext.ReloadAsync(entity).Wait();
                dbContext.Entry(entity).State.ShouldEqual(EntityState.Unchanged);
                entity.Description.ShouldEqual(description);
            }
        }