none
No se me reflejan los datos cambiados directo en la tabla a mi grilla RRS feed

  • Pregunta

  • Buenas, tengo pregunta, tengo una aplicación en asp.net en donde carga los datos a una grilla.

    la extructura es un EDMX que esta con SQL Server y al presionar el botón en la pagina se carga la grilla, todo funciona sin problema, el detalle es que si cambio un valor en la base de datos directo en la tabla, y después le doy refrescar desde mi aplicación el cambio no se me muestra, tengo que parar la aplicación y volverla a cargar.

    La pregunta es falta alguna instrucción que tengo que decirle a mi EDMX que tiene cambio a nivel de base y tiene que actualizar.

    Saludos


    Desarrollo de Sistemas

    martes, 30 de junio de 2015 14:22

Todas las respuestas

  • Hola:

     Deberias de mostrar como es que estas haciendo el Select posiblemente estes manteniendo el Context estatico o abierto durante toda la ejecucion de tu aplicacion, cuando debes de crearlo y destruirlo por cada consulta que lances a la Bd.


    Saludos desde Monterrey, Nuevo León, México!!!

    martes, 30 de junio de 2015 14:28
  • Buenas ok mira lo que hago es lo siguiente:

    Tengo una clase que tiene mi contexto

    public class DBbase
    {
    
    public  MyEntities contex = new MyEntities();
    
    public DBbase() {
    
    }
    
    }
    
    
    
    
    Public Persona: DBbase
    {
    
      public List<tbPersonas> GetLoadPersonas(){
         
        var Xresult context.tbPersonas.where(r=> r.Nombre.Contains(fil)).ToList();
    
     return Xresult ;
    
      }
    
    
    }
    Si lo hago asi no funciona, pero si lo hago todo dento del método sin heredar nada si funciona, sabes el porque ?


    Desarrollo de Sistemas

    martes, 30 de junio de 2015 15:13
  • Buenas, averiguando y realizando deguber me di cuenta que haciéndolo asi la conexión se crea y lo carga en memoria, cuando llega un segundo llamado la conexión esta activa Jose Luis Garcia, para corregir es encapcular el contexto y retornar el contexto nuevo, el internamente realiza sus validaciones en donde abre y cierra la conexión como si estuviera utilizando using.

    y listo ya me funciono saludos, solo encapsulen si tienen algo asi


    Desarrollo de Sistemas

    martes, 30 de junio de 2015 15:35
  • para corregir es encapcular el contexto y retornar el contexto nuevo

     Para alla apuntaba:

    using(var context = new Context)

    {

    //realizas lo que desees

    }

    De esta manera cada vez que mandas a llamar al context se vuelve a cargar tomando los cambios que tengas pendientes.


    Saludos desde Monterrey, Nuevo León, México!!!

    martes, 30 de junio de 2015 17:49
  • Ok, pensé que se había corregido,  solo la parte de que si hago cambio a nivel de tablas se me refleja sin problema,  y claro utilizándolo como indicas todo funciona bien,  el detalle es utilizarlo que herede de la clase y solo es llamar a el campo y realiza las operaciones normales. ahí es el detalle.

    lo que me falla ahora es que no se actualiza, ni inserta, porque esta realizando el new del contexto, y al hacer eso no funciona los update y insert, pero si la carga osea los select.

    alguna idea de implementarlo con indique arriba y que funcione sin problemas


    Desarrollo de Sistemas

    martes, 30 de junio de 2015 21:04