Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Bom dia! Recentemente eu gravei um webcast sobre o Entity Framework e no final da sessão houve um painel de perguntas e respostas, então vou aproveitar outras perguntas que eu recebi e escrever um rápido Q&A.
P: Se a estrutura do banco mudar, existe uma forma de atualizar automaticamente o modelo?
R: A partir do CTP2 do Entity Designer (que acompanha o Beta 3 do EF) é possível atualizar tanto o modelo conceitual (atualizando também o modelo físico), como é possível atualizar somente o modelo físico e depois criar manualmente as novas entidades e os mapeamentos.
Errata: no webcast eu não respondi corretamente essa pergunta! Eu ainda não havia utilizado essa funcionalidade e a novidade me escapou, pois me lembrei das funcionalidades do EF Beta 3 e não do ED CTP2. Vide os anúncios no fim deste post.
Para compensar essa pequena falha, no próximo ano eu vou escrever um post detalhando essa funcionalidade. J
P: Existe suporte a transações no ADO Entity? Isso é feito implicitamente, por exemplo, quando usamos a função para salvar as alterações (é feito atomicamente?), ou devemos explicitamente informar isso ao Framework?
R: Quando você chama o método SaveChanges(), o Entity Framework automaticamente inicia uma transação e faz o commit depois que as alterações foram executadas. Você pode analisar esse comportamento utilizando o Profiler e capturando alguns eventos relacionados às transações. Se desejar, também pode controlar a transação da maneira que quiser, pois através da classe de entidades (gerada pelo EDM) você tem acesso a um objeto do tipo DbConnection. Exemplo:
AWorksModel.AWorksEntities entidades = new AWorksModel.AWorksEntities();
entidades.Connection.BeginTransaction(IsolationLevel.Serializable);
P: Hoje o ADO.NET Entity Framework Beta 3 dá suporte p/ Oracle? Caso isto seja possível, ele gera o modelo baseado no banco de dados, assim como é feito no SQL Server?
R: Se você quiser brincar hoje com o EF junto ao Oracle, infelizmente não é possível. Mas já foi anunciado uma série de providers que estarão disponíveis em breve. Para mais informações, veja esse artigo: https://blogs.msdn.com/adonet/archive/2007/12/17/the-ado-net-entity-framework-not-just-for-sql-server.aspx
Não existe um exato detalhamento do que o provider vai suportar ou não, mas provavelmente a funcionalidade básica de gerar o modelo (como é feito com o SQL Server) estará disponível. Fica aqui uma dúvida, não sei se existe uma quantidade mínima de requisitos que um provider deve atender para funcionar com o EF (ou deve implementar tudo?), vou descobrir e depois coloco isso aqui.
Para informações do lançamento do EF Beta 3 e ED CTP 2, acesse:
https://blogs.msdn.com/adonet/archive/2007/12/05/ado-net-entity-framework-beta-3-rleased.aspx
https://blogs.msdn.com/adonet/archive/2007/12/06/entity-designer-ctp2.aspx
[]s
Luciano Caixeta Moreira
=============================================================
This posting is provided "AS IS" with no warranties, and confers no rights
=============================================================