Acesso a mais de uma entidade em um Model - ASP.NET MVC
Bom dia Srs,
Estou caminhando para a criação de um sistema para a empresa onde trabalho, porém me deparei com uma duvida no momento de criar minhas Views para o cadastro dos registros.
Já criei todo o modelo relacional através da importação que se realiza pelo banco de dados. Até este momento tudo certo. Porém tenho mais de um registro, que será o cadastro dos motivos de uma ocorrência, por isso tenho minhas duas Entidades assim:
Essas duas tabelas no banco de dados atuariam da seguinte forma, tenho um novo registro, gero uma entidade de RNC, porém, vou ter um listbox para preencher n RNC_OCORRENCIA porém não consigo encontrar meio de dizer que tenho as duas entidades na mesma View para criar os campos da entidade RNC e a listbox da RNC_OCORENCIA.
Minha pergunta seria, consigo criar um terceiro model, contendo as duas entidades e realizar a associação por elas? Nesse caso, deveria declarar o DbContext para as duas tabelas, como abaixo:
Estou caminhando para a criação de um sistema para a empresa onde trabalho, porém me deparei com uma duvida no momento de criar minhas Views para o cadastro dos registros.
Já criei todo o modelo relacional através da importação que se realiza pelo banco de dados. Até este momento tudo certo. Porém tenho mais de um registro, que será o cadastro dos motivos de uma ocorrência, por isso tenho minhas duas Entidades assim:
public class rnc
{
[Key]
public int CD_RNC{ get; set; }
.
.
.
public string CD_USUARIO{ get; set;}
}
public class rnc_ocorrencia
{
[Key]
public int CD_RNCOCORRENCIA { get; set; }
public int CD_RNC { get; set; }
.
.
.
public int CD_OCORRENCIA { get; set;}
}
Essas duas tabelas no banco de dados atuariam da seguinte forma, tenho um novo registro, gero uma entidade de RNC, porém, vou ter um listbox para preencher n RNC_OCORRENCIA porém não consigo encontrar meio de dizer que tenho as duas entidades na mesma View para criar os campos da entidade RNC e a listbox da RNC_OCORENCIA.
Minha pergunta seria, consigo criar um terceiro model, contendo as duas entidades e realizar a associação por elas? Nesse caso, deveria declarar o DbContext para as duas tabelas, como abaixo:
public DbContext<RNC> RNC_DADOS {get; set;}
public DbContext<RNC_OCORRENCIA> RNC_OCORRENCIA {get;set;}
Vinicius Fernandes
Curtidas 0
Respostas
Joel Rodrigues
02/12/2013
opa, vejamos se entendi. Para 1 RNC existe 1 OCORRÊNCIA? Ou o relacionamento éde 1 RNC para N OCORRÊNCIAS?
GOSTEI 0
Vinicius Fernandes
02/12/2013
Eu tenho 1 RNC cadastrada, mas as ocorrências, que seriam os "acidentes", poderiam ser "N" ocorrências.
Estou lendo algo a respeito das View Models(referente ao ASP.NET MVC, não do MVVM), porém não estou "capitando" muito bem como funciona, na verdade, só consigo fazer as aplicações que gravam em uma unica tabela.
Estou lendo algo a respeito das View Models(referente ao ASP.NET MVC, não do MVVM), porém não estou "capitando" muito bem como funciona, na verdade, só consigo fazer as aplicações que gravam em uma unica tabela.
GOSTEI 0
Vinicius Fernandes
02/12/2013
Agora fiz algo assim, um terceiro model, Nomeado CadastroViewModel
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Sistema.Models
{
public class CadastroViewModel
{
public RNC_DADOS RNCDADOS;
public IEnumerable<RNC_OCORRENCIA> RNC_OCORRENCIA { get; set; }
}
}GOSTEI 0
Joel Rodrigues
02/12/2013
Dê uma olhada neste link:Master-Details using ASP.NET MVC. Ele mostra como fazer a exibição de dados no formato Master-Details, mas pode lhe dar uma ideia de como fazer o cadastro a partir da visualização.
GOSTEI 0
Joel Rodrigues
02/12/2013
Veja este link, talvez lhe ajude: Formulário master detail com ASP NET MVC e jQuery
GOSTEI 0
Vinicius Fernandes
02/12/2013
Entendi o exemplo citado no link.
Mas agora penso que estou um pouco mais confuso que antes. Leio muitos materiais sobre o MVC, afinal, devo ou não devo utilizar o conceito StronglyType para as Views?
Mas agora penso que estou um pouco mais confuso que antes. Leio muitos materiais sobre o MVC, afinal, devo ou não devo utilizar o conceito StronglyType para as Views?
GOSTEI 0
Joel Rodrigues
02/12/2013
Rapaz, eu não vejo problema em usar views tipadas, mas quando isso é necessário e viável (boa parte dos casos).Se for necessário usar uma view não tipada, eu também não vejo problema nisso.
GOSTEI 0
Vinicius Fernandes
02/12/2013
Nesse caso somente usar o VC do MVC, correto?
GOSTEI 0
Vinicius Fernandes
02/12/2013
Joel, só para fim de dúvida mesmo, o relacionamento entre as tabelas é dessa forma:
[img]http://arquivo.devmedia.com.br/forum/imagem/343696-20131207-105145.png[/img]
[img]http://arquivo.devmedia.com.br/forum/imagem/343696-20131207-105145.png[/img]
GOSTEI 0
Joel Rodrigues
02/12/2013
Bem, eu achei que cada RNC poderia ter várias ocorrências, mas uma ocorrência só está ligada a um RNC. É isso?
Se for, são apenas duas tabelas e na tabela de ocorrências deve ter uma chave estrangeira apontando para o RNC.
É que estou no celular, aí não dá para ilustrar melhor, mas confirme esse relacionamento para a gente chegar à melhor forma.
Se for, são apenas duas tabelas e na tabela de ocorrências deve ter uma chave estrangeira apontando para o RNC.
É que estou no celular, aí não dá para ilustrar melhor, mas confirme esse relacionamento para a gente chegar à melhor forma.
GOSTEI 0
Vinicius Fernandes
02/12/2013
então, na verdade é um relacionamento Many to Many pelo que eu li.
Acho que eu até me confundi, mas como exemplo.
O registro de não conformidade, poderá gerar mais de uma RNC_OCORRENCIA, pois tem vários eventos que podem ocorrer na mesma situação.
A tabela RNC_OCORRENCIA serve para associar a RNC_DADOS com a OCORRENCIA, entendeu?
Acho que eu até me confundi, mas como exemplo.
O registro de não conformidade, poderá gerar mais de uma RNC_OCORRENCIA, pois tem vários eventos que podem ocorrer na mesma situação.
A tabela RNC_OCORRENCIA serve para associar a RNC_DADOS com a OCORRENCIA, entendeu?
GOSTEI 0
Vinicius Fernandes
02/12/2013
Estou fazendo as associações aqui enquanto leio o livro que o pessoal sugeriu em uma outra ocasião para um membro aqui do DevMedia, o ASP.NET MVC4 in Action.
Tendo sucesso eu posto o codigo aqui, das relações criadas.
Tendo sucesso eu posto o codigo aqui, das relações criadas.
GOSTEI 0