none
Editar registros de várias tabelas RRS feed

  • Pergunta

  • Bom dia pessoal,

    Sou iniciante em ASP.NET MVC.

    Desenvolvi um projeto com EF, nele tem uma página de cadastro que insere registros em várias tabelas, preciso criar uma opção para edição destes dados, porém, só consigo trazer as informações da tabela que está referenciada na View (criada através do scaffolding), as outras não sei como fazer.

    Podem me ajudar?

    Grato.

    terça-feira, 19 de dezembro de 2017 12:00

Respostas

  • Crie uma ViewModel com todos os campos necessários. Após receber seus dados no controller, instancie as tabelas necessárias e iguale os campos delas aos campos de suas tabelas.

    Por exemplo

    public class Tabela1
        {
    
            public int campo1{ get; set; }
            public int campo2{ get; set; }
    }

    public class Tabela2
        {
    
            public int campo3{ get; set; }
            public int campo4{ get; set; }
    }

    public class ViewModel
        {
    
            public int campo1{ get; set; }
            public int campo2{ get; set; }
            public int campo3{ get; set; }
            public int campo4{ get; set; }
    }

    public class ABCController : Controller { private Contexto c = new Contexto(); public ActionResult Index(ViewModel viewModel) { Tabela1 t1 = new Tabela1(); Tabela2 t2 = new Tabela2(); t1.campo1 = viewModel.campo1; t1.campo2 = viewModel.campo2; t2.campo3 = viewModel.campo3; t2.campo4 = viewModel.campo4; c.Tabela1.Add(t1); c.Tabela2.Add(t2); c.SaveChanges();

    return View(); } }





    terça-feira, 19 de dezembro de 2017 22:55

Todas as Respostas

  • Crie uma ViewModel com todos os campos necessários. Após receber seus dados no controller, instancie as tabelas necessárias e iguale os campos delas aos campos de suas tabelas.

    Por exemplo

    public class Tabela1
        {
    
            public int campo1{ get; set; }
            public int campo2{ get; set; }
    }

    public class Tabela2
        {
    
            public int campo3{ get; set; }
            public int campo4{ get; set; }
    }

    public class ViewModel
        {
    
            public int campo1{ get; set; }
            public int campo2{ get; set; }
            public int campo3{ get; set; }
            public int campo4{ get; set; }
    }

    public class ABCController : Controller { private Contexto c = new Contexto(); public ActionResult Index(ViewModel viewModel) { Tabela1 t1 = new Tabela1(); Tabela2 t2 = new Tabela2(); t1.campo1 = viewModel.campo1; t1.campo2 = viewModel.campo2; t2.campo3 = viewModel.campo3; t2.campo4 = viewModel.campo4; c.Tabela1.Add(t1); c.Tabela2.Add(t2); c.SaveChanges();

    return View(); } }





    terça-feira, 19 de dezembro de 2017 22:55
  • Obrigado pela resposta!

    Vou testar aqui...

    quarta-feira, 20 de dezembro de 2017 18:11
  • Olá Robson?  a resposta acima lhe foi útil?

    att.

    quinta-feira, 18 de janeiro de 2018 14:50
    Moderador