public List<Object> listarPublicacionesDeUsuario(int id)
        {
            List<Object> lista = new List<object>();
            using (contexto = new EF_Pagina())
            {
                ObjectQuery<Mascota> pet = contexto.Mascota;
                ObjectQuery<Publicacion> pub = contexto.Publicacion;
                var linqLista = from m in pet
                                join p in pub on m.Publicacion_id equals p.id_publicacion
                                where p.Usuario_id==id
                                select new
                                {
                                    nombrePublicacion = p.nombre_publicacion,
                                    fechaPerdida = p.Fecha_Perdida,
                                    imagenPulicacion = p.imagen_publicacion,
                                    descripcionPublicacion = p.descripcion_publicacion,
                                    nombreMascota = m.nombre_mascota,
                                    tamañoMascota = m.tamaño_mascota,
                                    edadMascota = m.edad_mascota
                                };
                foreach (var item in linqLista)
                {
                    lista.Add(item);
                }

                return lista;
            }
        }
 public Boolean eliminarUsuario(int id)
 {
     using(contexto = new EF_Pagina())
     {
         ObjectSet<Usuario> user = contexto.Usuario;
         Usuario us = contexto.Usuario.Single(u => u.id_usuario == id);
         user.DeleteObject(us);
         contexto.SaveChanges();
         return true;
     }
 }
 public Boolean ingresarPublicacion(Publicacion pub, Mascota m)
 {
     using (contexto = new EF_Pagina())
     {
         ObjectSet<Publicacion> publicacion = contexto.Publicacion;
         ObjectSet<Mascota> mascota = contexto.Mascota;
         publicacion.AddObject(pub);
         mascota.AddObject(m);
         contexto.SaveChanges();
         return true;
     }
 }
 public Boolean eliminarPublicacion(int idPub)
 {
     using (contexto = new EF_Pagina())
     {
         ObjectSet<Publicacion> pub = contexto.Publicacion;
         ObjectSet<Mascota> mas = contexto.Mascota;
         Mascota mascota = contexto.Mascota.Single(m => m.Publicacion_id == idPub);
         mas.DeleteObject(mascota);
         Publicacion publicaion = contexto.Publicacion.Single(p => p.id_publicacion == idPub);
         pub.DeleteObject(publicaion);
         contexto.SaveChanges();
         return true;
     }
 }
 /*Verificar que no se repita un correo electronico y un nombre de usuario*/
 public Boolean agregarUsuario(Usuario user)
 {
     using (contexto = new EF_Pagina())
     {
         ObjectSet<Usuario> usuarios = contexto.Usuario;
         var verificacionUsuario = from x in usuarios
                                   where x.correo_usuario.Equals
                                   (user.correo_usuario) &&
                                   x.login_usuario.Equals
                                   (user.login_usuario)
                                   select x;
         if (verificacionUsuario == null)
         {
             usuarios.AddObject(user);
             contexto.SaveChanges();
             return true;
         }
     }
     return false;
 }
 public Administrador obtenerEstado(string nombre, string contraseña)
 {
     using (contexto = new EF_Pagina())
     {
         ObjectQuery<Administrador> user = contexto.Administrador;
         var recuperarEstadoDeLogueo = from x in user
                                       where x.nombre_administrador.Equals(nombre) && x.pass_administrador.Equals(contraseña)
                                       select x;
         if (recuperarEstadoDeLogueo != null)
         {
             foreach (var item in recuperarEstadoDeLogueo)
             {
                 return new Administrador
                 {
                     nombre_administrador = item.nombre_administrador,
                     pass_administrador = item.pass_administrador,
                     correo_administrador = item.correo_administrador,
                     id_administrador = item.id_administrador,
                 };
             }
         }
         return null;
     }
 }
 /*Eliminar un usuario por su ID*/
 public Boolean eliminarUsuario(int id)
 {
     using (contexto = new EF_Pagina())
     {
         ObjectSet<Usuario> usuarios = contexto.Usuario;
         #region PrimeraOpcionDeProgramacion
         //Usuario usuarioEliminar = (from x in contexto.Usuario.Where(a => a.id_usuario == id)
         //                           select x).First();
         //usuarios.DeleteObject(usuarioEliminar);
         //contexto.SaveChanges();
         #endregion
         #region SegundaOpcionDeProgramacion
         var eliminarUsuario = from x in usuarios
                               where x.id_usuario.Equals(id)
                               select x;
         foreach (var item in eliminarUsuario)
         {
             usuarios.DeleteObject(item);
         }
         contexto.SaveChanges();
         #endregion
     }
     return false;
 }
        /*recuperaremos los datos del usuario al momento de iniciar sesion*/
        public Usuario recuperarUser(string userNombre, string password)
        {
            using (contexto = new EF_Pagina())
            {

                ObjectQuery<Usuario> user = contexto.Usuario;
                var recuperarEstadoDeLogueo = from x in user
                                              where x.login_usuario.Equals(userNombre) && x.password_usuario.Equals(password)
                                              select x;
                if (recuperarEstadoDeLogueo != null)
                {
                    foreach (var item in recuperarEstadoDeLogueo)
                    {
                        return new Usuario
                        {
                            nombre_usuario = item.nombre_usuario,
                            apellido_usuario = item.apellido_usuario,
                            correo_usuario = item.correo_usuario,
                            id_usuario = item.id_usuario,
                            edad_usuario = item.edad_usuario,
                            login_usuario = item.login_usuario,
                            password_usuario = item.password_usuario,
                            Administrador_id = item.Administrador_id
                        };
                    }
                }
                return null;
            }
        }
 public List<Usuario> listarUsuarios()
 {
     using (contexto = new EF_Pagina())
     {
         return contexto.Usuario.ToList();
     }
 }