public void Add(IModelodata modelo) { DBModelo modeloTmp = new DBModelo(); CopiarADBModelo(modelo, modeloTmp); using (var DBCtxt = new SimplexContext()) { DBCtxt.Modelos.Add(modeloTmp); DBCtxt.SaveChanges(); } }
public IModelo Get(Guid id) { var model = new Modelo("tmp"); using (var dbmod = new SimplexContext()) { var q = dbmod.Modelos.Include(n => n.FuncionAOptimizar) .Include(n => n.FuncionOriginal) .Include(n => n.Ecuaciones) .Include(n => n.Ecuaciones.Select(x => x.Terminos)) .Where(n => n.Id == id).FirstOrDefault(); dbmod.Entry(q.FuncionAOptimizar).Collection(n => n.Terminos).Load(); dbmod.Entry(q.FuncionOriginal).Collection(n => n.Terminos).Load(); CopiarAModelo(q, model); } return(model); }
public void Remove(Guid id) { using (var DBCtxt = new SimplexContext()) { var modelo = Get(id); DBModelo q = new DBModelo(); CopiarADBModelo((IModelodata)modelo, q); DBCtxt.Modelos.Attach(q); DBCtxt.Ecuaciones.Attach(q.FuncionAOptimizar); DBCtxt.Terminos.RemoveRange(q.FuncionAOptimizar.Terminos); DBCtxt.Ecuaciones.Remove(q.FuncionAOptimizar); DBCtxt.Terminos.RemoveRange(q.FuncionOriginal.Terminos); DBCtxt.Ecuaciones.Remove(q.FuncionOriginal); foreach (var e in q.Ecuaciones) { DBCtxt.Terminos.RemoveRange(e.Terminos); } DBCtxt.Ecuaciones.RemoveRange(q.Ecuaciones); DBCtxt.Modelos.Remove(q); DBCtxt.SaveChanges(); } }