none
Cambiar estatus en una lista de objeto entity framework core RRS feed

  • Pregunta

  • Buenas tardes, escribo en esta oportunidad porque estoy trabajando con 2 tablas ejemplo:

    public class Persona
    {
      public int PersonaId {get; set;}
      public string Nombre {get; set;}
      public List<Detalle> Detalles {get; set;
    }
    
    public class Detalle
    {
      public int PersonaId {get; set;}
      public int MateriaId {get; set;}
      public DateTime Fecha {get; set;
      public List<Materia> Materias {get; set;}
    }
    
    public class Materia
    {
     public int MateriaId {get; set;}
      public string Nombre {get; set;}
      public int Estatus {get; set;}
    }

    Me agrega bien las personas con sus detalles pero que me recomiendan para actualizar la lista de materiales que le asigno porque debe de cambiar de estatus?

    debo de recorrerla o hay una manera de cambiar el estatus de una lista de materia en forma automatica con entity framework core pero solo quiero modificar esa propiedad.

    martes, 8 de octubre de 2019 18:08

Todas las respuestas

  • hola

    Ese material solo sera utilizado en ese detalle ? lo planteo porque hay algo raro en la relacion que defines

    Si usas en Detalle

    public List<Materia> Materias {get; set;}

    entonces esto

    public int MateriaId {get; set;}

    no es correcto, o es una lista o es un meterial no puede ser ambos

    Si el material puede ser usado en varios detalles entonces es una relacion mucho a muchos

    Configuring Many To Many Relationships in Entity Framework Core

    Relationships

    >>debo de recorrerla o hay una manera de cambiar el estatus

    vas a tener que recuperar la relacion he iterar la lista para asignar el valor a esa propiedad, por ultimo realizas el SaveChanges() de la entidad principal y en cascada aplicara los cambios

    pero esto solo funciona si realizas esta operacion dentro del contexto de EF

    using(var dbcontext = new NombreContext()){
    
       //aqui recuperas a la persona
    
       //aqui iteras y cambias los valores de las propiedades
    
       //aqui realizas el savechanges()
    
    }


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 8 de octubre de 2019 23:54