public override void UpdateUser(MembershipUser _user)
        {
            var dbContext = new DBContext();
            MembershipPerson personData = (_user as MembershipPerson);
            User             usr        = dbContext.GetUser(personData.person.PersonID);

            if (usr == null)
            {
                usr        = new User();
                usr.Person = dbContext.GetPerson(personData.person.PersonID);
                if (usr.Person == null)
                {
                    return;
                }
            }
            usr.Person.Avatar    = personData.person.Avatar;
            usr.Person.Name      = personData.person.Name;
            usr.Person.Gender    = personData.person.Gender;
            usr.UserName         = personData.UserName;
            usr.UserEmailAddress = personData.Email;

            IQueryable <Photo> photos = (from p in dbContext.Photos where p.PersonID == usr.Person.PersonID select p);

            foreach (Photo p in photos)
            {
                System.Collections.Generic.IEnumerable <Photo> ps = personData.person.Photos.Select(x => x).Where(x => x.PhotoID == p.PhotoID);
                if (ps.Count() == 0)
                {
                    dbContext.Entry(p).State = System.Data.EntityState.Deleted;
                }
                else
                {
                    p.PhotoStream = ps.First().PhotoStream;
                }
            }
            IEnumerable <Photo> photosToAdd = personData.person.Photos.Where(x => x.PhotoID == 0).Select(x => x);

            foreach (Photo p in photosToAdd)
            {
                dbContext.AddPhoto(p);
            }
            dbContext.SaveChanges();
        }