Venho programando há algum tempo e já usei LINQ-To-SQL e LINQ-To-Entities antes (embora, ao usar entidades, ele tenha um relacionamento Entidade / Tabela 1-1 - ou seja, não seja muito diferente do L2SQL)
Eu tenho lido muito sobre Inversão de Controle, Unidade de Trabalho, POCO e padrões de repositório e gostaria de usar essa metodologia em meus novos aplicativos.
Onde estou lutando é encontrar um guia claro e conciso para iniciantes do EF4, que não pressupõe o conhecimento do EF1.
As perguntas específicas que preciso responder são:
Código primeiro / modelo primeiro? Prós / contras em relação ao EF4 (ou seja, o que acontece se eu codificar primeiro, alterar o código posteriormente e precisar regenerar meu modelo de banco de dados - Os dados são preservados, transformados ou descartados?)
Supondo que eu vou primeiro o código (eu gostaria de ver como o EF4 converte isso em um esquema de banco de dados) como eu realmente começo? Muitas vezes, vi artigos com diagramas de entidades dizendo "Então este é o meu modelo de entidade, agora vou ..." - Infelizmente, não sei se eles criaram o modelo no designer, mas o salvaram em gerar código e interromper qualquer nova geração de código automático - ou - Eles codificaram (POCO)? classes e de alguma forma as importou para a visualização deisgner?
Suponho que o que realmente preciso é entender de onde vem a "mágica" e como adicioná-la eu mesmo, se não estiver apenas gerando um modelo EF diretamente de um banco de dados.
Estou ciente de que a pergunta é um pouco vaga, mas não sei o que não sei - portanto, qualquer entrada / correção / esclarecimento é apreciada.
Escusado será dizer que não espero que ninguém se sente aqui e me ensine EF - eu gostaria de alguns bons tutoriais / fóruns / blogs / etc. para iniciantes completos da entidade
Respostas:
Esses artigos podem ser interessantes ... a série realmente aproveita as vantagens e desvantagens de uma abordagem POCO.
http://blogs.msdn.com/b/adonet/archive/2009/05/21/poco-in-the-entity-framework-part-1-the-experience.aspx
http://blogs.msdn.com/b/adonet/archive/2009/05/28/poco-in-the-entity-framework-part-2-complex-types-deferredloading-and-explicit-loading. aspx
http://blogs.msdn.com/b/adonet/archive/2009/06/10/poco-in-the-entity-framework-part-3-change-tracking-with-poco.aspx
Nesses artigos, o autor menciona artigos futuros que descrevem as melhores práticas na implementação de padrões de Repositório e Unidade de Trabalho, mas não consigo encontrá-los. Estes artigos são bem escritos e eu gostaria de ler mais deste autor.
fonte
Eu me deparei com isso: http://blogs.msdn.com/adonet/pages/feature-ctp-walkthrough-code-only-for-the-entity-framework.aspx
O que fornece passo a passo para o código primeiro. Requer o CTP 3 para EF4 (Download vinculado a partir desse artigo).
Isso é bem parecido com o que eu estava procurando (embora, idealmente, uma solução que não dependa de um CTP fosse preferível)
fonte
Eu recomendo que você tire meia hora ou mais e gere um modelo EF1.0 estável no seu VS atual. Isso ajudará você a entender as metáforas e os conceitos do EF 4.0. Basta criar um simples cliente, produtos e pedidos db ... Eu recomendo fazer o seu próprio e não usar Northwind.
fonte
Essa é uma ótima pergunta, mas difícil de manter atualizada, pois o Entity Framework continua amadurecendo. Provavelmente, o melhor lugar para começar que se manterá atualizado no futuro é a página EF da Microsoft .
Alguns outros links que achei úteis no Google (focado no Code First):
fonte
Você pode pegar o livro de Lerman ou algo mais simples como "Mapeamento relacional de objetos Pro linq". Todos os conceitos ainda são os mesmos do POCO, exceto que agora você deve desativar a geração de código e mapear diretamente para o seu modelo no edmx csdl (ou criar seu próprio gerador POCO). Todos os princípios de mapeamento também são os mesmos. De qualquer forma, em tempo de execução, você está trabalhando com proxy que é derivado do seu objeto POCO, portanto, você deve se preocupar com o suporte a interceptação (virtualização de suas propriedades POCO).
fonte
Existem também estes tutoriais:
fonte
Aqui está uma explicação passo a passo sobre o modelo POCO para o Entity Framework que parecia muito bom. Você também pode conferir o blog da equipe do ADO.NET . Se você deseja começar do início (EF v1.0) como base para o seu conhecimento sobre EF, achei o livro Programming Entity Framework de Julia Lerman muito completo.
fonte
Não tenha o representante para comentar uma resposta, mas aqui está o acompanhamento da resposta de Jinkinz:
Usando padrões de repositório e unidade de trabalho com o Entity Framework 4.0:
http://blogs.msdn.com/b/adonet/archive/2009/06/16/using-repository-and-unit-of-work-patterns-with-entity-framework-4-0.aspx
fonte
Julia Lerman tem uma boa série de vídeos introdutórios , com cerca de 10 minutos cada. Eles são introdutórios, mas existem muitas dicas práticas que tiram algumas barreiras de aprendizado em potencial. Eu gostei especialmente da demonstração dela de assistir o SQL real usando o SQL Server Profiler.
fonte
Se você for usar cenários desconectados, recomendo que você leia o livro de Julie Lerman: "Programming DbContext", em especial no Capítulo 4.
Encontrei muitos exemplos em blogs, etc., mas quase todos são sobre cenários conectados.
Eu também estou começando. e esse livro me ajudou muito. A propósito, eu comprei três livros para ela.
fonte
Eu estava procurando as mesmas respostas e me deparei http://www.dotnetcurry.com/ShowArticle.aspx?ID=599
No final do link, existem poucos links que farão você rolar com o Entity Framework 4.
Espero que isto ajude
fonte
Uau, muitas respostas. Que tal um exemplo que contém uma versão aprimorada dos modelos T4 que geram repositórios POCO + interfaces +?
https://entityinterfacegenerator.codeplex.com
fonte