logo DevMedia  
Home Entenda o site Revistas Canais Cursos Palestras Suporte Fórum +Serviços Assine Compre Créditos

Edição do Mês
  Fórum DevMedia
Fórum de Discussão
Conheça também o NOVO fórum da DevMedia, no endereço: www.devmedia.com.br/forum
O novo fórum possui diversas vantagens! Saiba mais em
www.devmedia.com.br/articles/viewcomp.asp?comp=14726
Estamos sempre trabalhando na melhora do site como um todo! Bons códigos!
Equipe DevMedia

 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos  RegistrarRegistrar   
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 
Edição do Mês

Camada de Acesso a Dados (DAL), Linq, Entity Framework, SQL
 
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> Persistencia / BD / ADO.NET /LINQ
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
leonardo.trindade
Visitante





MensagemEnviada: Ter Dez 02, 2008 12:07 pm    Assunto: Camada de Acesso a Dados (DAL), Linq, Entity Framework, SQL Responder com Citação

Boas.

Estamos desenvolvendo um projeto utilizando C#, WPF, LINQ e Entity Framework. Dividimos o projeto em 3. Um projeto WPF com a interface, uma Class Library com o Entity Framework e uma Class Library com o acesso a dados (DAL) utilizando LINQ.

Pergunta: Estou certo em dividir o projeto em 3 projetos dessa maneira?

Eu tenho o seguinte código para abrir a conexão com a minha base de dados MS-SQL Server 2005:

private static SisWebClasses.siswebEntities dm = new SisWebClasses.siswebEntities();

Pergunta: Onde eu devo abrir essa conexão? Eu devo abri-la apenas no Projeto DAL? Como eu faço isso apenas uma vez enquanto a aplicação principal estiver rodando?

Ao executar o projeto, eu abro uma tela e exibo os dados num DataGrid da Xceed:

dgSetor.ItemsSource = SetorDAL.SetorSelecionarTotal();

E tenho o comando LINQ que retorna os Dados:

public static System.Linq.IQueryable SetorSelecionarTotal()
{
return (from c in dm.tbSetor
select new { c.IdSetor, c.Setor, c.Situacao });
}

Até aqui tudo ocorre bem. A seleção é realizada quantas vezes eu entrar e sair da tela sem erros. Quando vou salvar uma alteração no entanto ocorre o seguinte erro:

An error occurred while starting a transaction on the provider connection. See the inner exception for details.

{"New transaction is not allowed because there are other threads running in the session."}

O método da Alteração:
public static void SetorAlterar(int prIdSelecionado, string prSetor, bool prSituacao)
{
tbSetorTabela = (from c in dm.tbSetor
where c.IdSetor == prIdSelecionado
select c).First();
tbSetorTabela.Setor = prSetor;
tbSetorTabela.Situacao = prSituacao;
dm.SaveChanges();
}

Alguém tem idéia de como resolvo tudo isso? rsrs

Obrigado desde já pela ajuda!

Leonardo.
Voltar ao Topo
Visitante






MensagemEnviada: Qui Out 15, 2009 2:23 pm    Assunto: MPF Responder com Citação

Leonardo, eu tb estava com uma duvida parecida e achei a solução aqui mesmo num artigo http://www.devmedia.com.br/articles/viewcomp.asp?comp=9297, mas tive que comprar, Valeu a pena.

Abraços
Voltar ao Topo
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> Persistencia / BD / ADO.NET /LINQ Todos os horários são GMT - 3 Hours
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Permitido.
Responder Tópicos: Permitido.
Editar Mensagens: Proibído.
Excluir Mensagens: Proibído.
Votar em Enquetes: Proibído.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB