Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ozzyvegeta

Metodologia LINQ

Recommended Posts

Ola

 

Estou usando uma metodologia para se trabalhar com o LINQ mais estou com alguns problemas...

 

Bom, o metodo que estou usando é: criar uma insntacia do DATA CONTEXT para cada metodo que trabalha com os dados...

 

exemplo, eu tenho na camada de DAO dois metodos:

 

Uma para pesquisar e outra para inserir a noticia... cada um desses cria uma instancia do data context

 

Noticia GetNoticiaByID(int idnoticia) 
{
using (MeuDataContext db = new MeuDataContext())
  {
		var query = ...
		return (Noticia)query.single();
  }
}


bool UpdateNoticia(Noticia noticia)
{
using (MeuDataContext db = new MeuDataContext())
  {
	 db.SubmitChanges();  
  }
}

MAIS, agora estou com o seguinte problema...

 

Quando preciso ATUALIZAR ou DELETAR uma instancia de NOTICIA eu estou com problmeas...

 

Imagine:

 

- Eu crio uma instancia de NOTICIA por um metodo encapsulado na camada de DAO DAO.GetNoticiaByID(int idnoticia)

- Ao retornar a noticia eu tento ATUALIZAR alguns campos

 

noticia.assunto = "ASSUNTO EDITADO";

 

- Agora eu irei ATUALIZAR a noticia usando o metodo DAO.UpdateNoticia(Noticia noticia)

- PRONTO, aqui não atualiza pq em cada metodo que manipula os acessos a dados eu CRIO uma instancia do data context... BOM, eu imagino que seja este o problema rs

 

Agora a duvida é .... COMO atualizarei uma instancia usando essa metodologia de criar uma DataContext para cada ação?

 

Ou existe uma metodologia melhor que a minha?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sugiro que crie um único DataContext por classe do DAL e instancie no construtor, ou até mesmo, criar uma classe base para uma melhor estruturação.

 

Não faz sentido instanciar um DataContext para cada método.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.