Usuário com melhor resposta
duvida com Entity FrameWork

Pergunta
-
Pessoal, sempre desenvolvi em C# winforms, sempre fiz minhas sql na mão, quando starto minha aplicação, tem um metodo que pega um arquivo xml e verifica os dados para conexão com o banco, como local, banco, usuario, senha, etc.
Agora estou tentando utilizar o Entity FrameWork e preciso mudar as configurações de conexão ao banco de dados em tempo de execução. Ao criar o EDMX com o wizard o EF cria o app.config, porem preciso criar uma forma de eu mesmo definir os dados de acesso ao banco. Já tentei de algumas formas e nao consegui, alguem poderia dar uma ajuda ai ?
o que eu preciso fazer é que a aplicação ao inves de ler o app.config criado pelo EF, ler o meu xml que contem os dados de conexão.
no exemplo abaixo, é retornado os paises do meu banco, mas ate entao ele esta usando dados do app.config
private void getsLimitPaises() { try { using (jpizzaEntities jp = new jpizzaEntities()) { ObjectQuery<cliente> consulta = jp.cliente.Top("3"); foreach (cliente item in consulta) { MessageBox.Show(item.cli_id.ToString() + ":" + item.cli_nome.ToString()); } } } catch (EntitySqlException ex) { MessageBox.Show(ex.Message.ToString()); } catch (Exception ec) { MessageBox.Show(ec.Message.ToString()); } }
alessandre
Respostas
-
O format e diferente. Veja a dica do Artur.
Paulo César Viana
MCC,MCP,MCTS
--
Marque as respostas e contribua para uma melhora no fórum.- Marcado como Resposta alessandre terça-feira, 8 de maio de 2012 14:36
Todas as Respostas
-
No construtor do seu objeto tem a opcao de passer a string de conexao.
PizzaEntities jp = new PizzaEntities (sua string de conexao)
Desculpe pela falta de acentos. Meu windows (8) esta ingles. Ainda vou tentar alterar o teclado para pt-br.
Paulo César Viana
MCC,MCP,MCTS
--
Marque as respostas e contribua para uma melhora no fórum.- Editado Paulo César Viana sábado, 5 de maio de 2012 19:08
-
Paulo essa é a minha string de conexao que uso normalmente em minha aplicação:
"Server='localhost';Database='r2alevarejo';Uid='root';Pwd='a'; Max Pool Size = 100; Connection Timeout=30"
mas ao tentar :
jpizzaEntities ok = new jpizzaEntities("Server='localhost';Database='r2alevarejo';Uid='root';Pwd='a'; Max Pool Size = 100; Connection Timeout=30" );
dá o seguinte erro :
"Não há suporte para a palavra-chave: 'server'."
sabe como resolver esse erro?, ou como devo passar essa string de conexão ?
desde já agadeo sua atenção
alessandre
- Sugerido como Resposta Rene Felix domingo, 6 de maio de 2012 14:39
-
Oi, sugiro dar uma olhada neste link:
http://social.msdn.microsoft.com/Forums/pt-BR/mvcpt/thread/bde15961-60ef-454b-b110-e520e10a4293
Nele você encontrará como montar sua string connection e usa-la.
De uma olhada neste outro link tmb
Aprendendo mais sobre ADO.NET Entity Framework
Se preferir: Data Learn Center (Em Inglês / Tem mais conteúdo)
Abraços
Artur
- Editado Artur Barth sábado, 5 de maio de 2012 23:02
- Sugerido como Resposta Paulo César Viana domingo, 6 de maio de 2012 02:51
-
O format e diferente. Veja a dica do Artur.
Paulo César Viana
MCC,MCP,MCTS
--
Marque as respostas e contribua para uma melhora no fórum.- Marcado como Resposta alessandre terça-feira, 8 de maio de 2012 14:36