O Visual Studio LightSwitch pode se conectar a um banco de dados Oracle?
-
26-09-2019 - |
Pergunta
Todas as demos de Visual Studio LightSwitch Use SQL-Server, é possível acessar dados do Oracle usando o Visual Studio LightSwitch?
Solução
O Visual Studio LightSwitch pode ser persistido em um banco de dados Oracle por meio da estrutura da entidade.
Oracle Data Data Provider (ODP.NET)
As ferramentas ODAC da Oracle contém o Oracle Data Provider (ODP.NET) para uso com aplicativos do Visual Studio. O mais recente driver da Oracle com a abordagem de suporte para Entity Framework 4.1 e "Model First".
EDIT: Não tenho certeza se ele suporta "código-primeiro" ou EF 4.2, então verifique a documentação. Dito isto, É gratuito e apoiado pela Oracle, por isso sugiro fortemente começar aqui antes de rolar o seu próprio, ou usar provedores/drivers de código aberto.
Faça o download do odp.net 11.2.0.3
Notas: "11.2.0.2 Release 4" o cortará, mas "11.2.0.3 está" fora e mais estável.
Motoristas de terceiros estão disponíveis para compra:
Provedores de código aberto
Além disso, existem algumas opções de código aberto disponíveis - uma que encontrei no Github:
Tutorial sobre MSDN: Como conectar o LightSwitch ao EF 4.1
Outras dicas
Sim, se você pode obter um fornecedor de terceiros para a estrutura da entidade. Na verdade, fiz essa pergunta na VSLive esta semana.
Eu usei o mais recente ODAC 11.2 Release 4 (11.2.0.3.0) que suporta a estrutura da entidade e funciona bem.
Se você receber este erro, "Mensagem de exceção interna: a conexão já faz parte de uma transação local ou distribuída"
Você pode resolver o problema seguindo o segundo post de Bscholz, https://forums.oracle.com/forums/thread.jspa?threadid=2263095
Basicamente, você precisa implementar SaveChanges_Excuting e SaveChanges_Excuted para a fonte de dados Oracle.
- Alterne para "Visualização do arquivo" (LightSwitch exibirá "Visualização lógica" por padrão).
- Adicione uma referência a "System.Transactions" no projeto do servidor.
- Volte para "Visualização lógica"
- Clique com o botão direito do mouse no nome da fonte de dados e clique em "Exibir código" para editar a classe parcial.
Copie e cole o código abaixo:
private TransactionScope _tscope; partial void SaveChanges_Executing() { _tscope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted }); } partial void SaveChanges_Executed() { _tscope.Complete(); _tscope.Dispose(); }
o Kit de treinamento de LightSwitch Faz um exercício dedicado ao uso de fontes de dados alternativas por meio de serviços da WCF RIA.
Você pode achar isso útil.