Fórum Tratamento de Mestre/Detalhe com EDM/LINQ #3311
04/03/2009
Ola pessoal, minha dúvida agora acredito que seja bem simples é a seguinte:
Estamos desenvolvendo uma aplicação utilizando EDM preciso desenvolver agora uma página de cadastro onde terá dados de uma tabela mestre e dados de uma tabela detalhe, não posso inserir registros no detalhe sem antes gravar os dados mestre, porém não gostaria de trabalhar dessa maneira. Existe alguma maneira de eu trabalhar com os dados detalhe temporariamente e só depois no final gravar os dados da tabela master e da tabela detalhe??
Teria como eu trabalhar com os dados detalhe em uma session??? Poderiam me mandar algum exemplo de como posso fazer isso??
Aguardo uma resposta o mais breve possível
Atenciosamente
Júlio
Posts
Ola,
Você pode sim trabalhar "desconectado" usando uma tabela Hash ou sessões, por exemplo, mas não é aconselhavel.
Sugiro vc manter os dados na própria pagina e realizar o insert na Master e depois na Filha, tudo num mesmo método e dentro de uma transação. Caso precise de um exemplo, me avise que faço pra vc!
Abraços
Luiz Maia
04/03/2009
Nefrodata Ltda
Por favor se possivel me mande um exemplo.
Aguardo o mais breve possivel
Atenciosamente,
Julio
Ola,
Vc deve manter o estado de seus cotroles, tanto do que será gravado na tabela MASTER quanto o que será gravado nas filhas.
Veja o exemplo abaixo, no qual temos PERFIL(MASTER) e ACESSO(FILHA).
Só é gravado na FILHA caso a gravação na MASTER tenha obtido sucesso, caso contrário o LINQ executa um rollback em ambas tabelas.
Siga o exemplo abaixo e altere com os dados de sua aplicação.
Repare que são passados todos os parâmetros para o método abaixo, parâmetros pertinentes às duas tabelas (MASTER e FILHAS).
Para utilizar transação no Linq, basta utilizar o modelo abaixo:
Aguardo seu retorno.
Att
Luiz Maia
04/03/2009
Nefrodata Ltda
Muito obrigado pela ajuda
Julio
Ok Júlio,
Precisando, estamos a disposição.
Qualquer coisa nos contacte.
Abraços
Att
Luiz Maia