Novidades – EF CoreWhat's new in EF Core

Versões recentesRecent releases

Roteiro do produtoProduct roadmap

Importante

Lembre-se de que os conjuntos de recursos e agendamentos de versões futuras sempre estão sujeitos a alterações. Tentaremos manter esta página atualizada, mas ela pode não refletir nossos planos mais recentes.Please note that the feature sets and schedules of future releases are always subject to change, and although we will try to keep this page up to date, it may not reflect our latest plans at all times.

Versões futurasFuture releases

  • EF Core 3.1EF Core 3.1
  • EF Core "vNext"EF Core "vNext"
    • Próxima versão principal do EF Core a ser lançada junto com o .NET 5Next major release of EF Core to ship alongside .NET 5
    • O planejamento dessa versão ainda não começou, e nenhum recurso foi anunciado.Planning for this release hasn't started yet and no features have been announced.

AgendamentoSchedule

A agenda de lançamento para o EF Core está em sincronia com a agenda de lançamento do .NET Core.The release schedule for EF Core is in-sync with the .NET Core release schedule.

Lista de pendênciasBacklog

O marco da lista de pendências em nosso rastreador de problemas contém problemas nos quais esperamos trabalhar algum dia ou que achamos que alguém da comunidade poderia solucionar.The Backlog Milestone in our issue tracker contains issues that we either expect to work on someday, or we think someone from the community could tackle. Incentivamos os clientes a enviar comentários e votos sobre esses problemas.Customers are welcome to submit comments and votes on these issues. Encorajamos os colaboradores que procuram trabalhar em qualquer um desses problemas a começar uma discussão sobre como abordá-los.Contributors looking to work on any of these issues are encouraged to first start a discussion on how to approach them.

Nunca há uma garantia de que trabalharemos em um recurso específico em uma versão específica do EF Core.There's never a guarantee that we'll work on any given feature in a specific version of EF Core. Como em todos os projetos, prioridades, cronogramas da versão e recursos disponíveis do software podem mudar a qualquer momento.As in all software projects, priorities, release schedules, and available resources can change at any point. Mas, se pretendemos resolver um problema em um período de tempo específico, atribuiremos este problema a um marco de lançamento em vez de um marco da lista de pendências.But if we intend to resolve an issue in a specific timeframe, we'll assign it to a release milestone instead of the backlog milestone. Podemos mover rotineiramente os problemas entre os marcos de lançamento e a lista de pendências como parte do nosso processo de planejamento da versão.We routinely move issues between the backlog and release milestones as part of our release planning process.

Provavelmente vamos fechar um problema se não estivermos planejando abordá-lo.We'll likely close an issue if we don't plan to ever address it. Mas podemos reconsiderar um problema fechado anteriormente se houver novas informações sobre ele.But we can reconsider an issue that we previously closed if we get new information about it.

Processo de planejamento da versãoRelease planning process

Frequentemente, recebemos perguntas sobre como escolhemos os recursos específicos de uma versão.We often get questions about how we choose specific features to go into a particular release. É certo que nossa lista de pendências não se traduz automaticamente em planos de versão.Our backlog certainly doesn't automatically translate into release plans. A presença de um recurso no EF6 também não significa que esse recurso será automaticamente implementado no EF Core.The presence of a feature in EF6 also doesn't automatically mean that the feature needs to be implemented in EF Core.

É difícil detalhar todo o processo que seguimos para planejar uma versão.It's difficult to detail the whole process we follow to plan a release. Grande parte dele envolve a discussão de recursos específicos, oportunidades e prioridades, e o processo em si também evolui a cada versão.Much of it is discussing the specific features, opportunities and priorities, and the process itself also evolves with every release. No entanto, podemos resumir as perguntas comuns que tentamos responder ao decidir qual será a próxima tarefa:However, we can summarize the common questions we try to answer when deciding what to work on next:

  1. Quantos desenvolvedores achamos que usarão o recurso? Como ele vai aprimorar os aplicativos ou as experiência deles?How many developers we think will use the feature and how much better will it make their applications or experience? Para responder a essa pergunta, podemos coletar comentários de várias fontes – comentários e votos em problemas é uma dessas fontes.To answer this question, we collect feedback from many sources — Comments and votes on issues is one of those sources.

  2. Quais são as soluções alternativas que podem ser usadas caso não implementemos este recurso?What are the workarounds people can use if we don't implement this feature yet? Por exemplo, diversos desenvolvedores podem mapear uma tabela de junção para solucionar a falta de suporte nativo de muitos para muitos.For example, many developers can map a join table to work around lack of native many-to-many support. Obviamente, nem todos os desenvolvedores desejam fazê-lo, mas muitos podem, e isso conta como um fator em nossa decisão.Obviously, not all developers want to do it, but many can, and that counts as a factor in our decision.

  3. Implementar este recurso desenvolve a arquitetura do EF Core de forma que nos aproxime da implementação de outros recursos?Does implementing this feature evolve the architecture of EF Core such that it moves us closer to implementing other features? Favorecemos os recursos que atuam como blocos de construção para outros recursos.We tend to favor features that act as building blocks for other features. Por exemplo, entidades de recipiente da propriedades podem nos ajudar a mover na direção do suporte de muitos-para-muitos, e construtores de entidade habilitaram o nosso suporte a carregamento lento.For instance, property bag entities can help us move towards many-to-many support, and entity constructors enabled our lazy loading support.

  4. O recurso é um ponto de extensibilidade?Is the feature an extensibility point? Favorecemos os pontos de extensibilidade em relação aos recursos normais, pois eles permitem aos desenvolvedores conectar seus próprios comportamentos e compensar qualquer funcionalidade ausente.We tend to favor extensibility points over normal features because they enable developers to hook their own behaviors and compensate for any missing functionality.

  5. O que é a sinergia do recurso quando usado em combinação com outros produtos?What is the synergy of the feature when used in combination with other products? Favorecemos recursos que habilitam ou melhoram significativamente a experiência de usar o EF Core com outros produtos, como .NET Core, a versão mais recente do Visual Studio, Microsoft Azure e assim por diante.We favor features that enable or significantly improve the experience of using EF Core with other products, such as .NET Core, the latest version of Visual Studio, Microsoft Azure, and so on.

  6. Quais são as habilidades das pessoas disponíveis para trabalhar em um recurso e como melhor aproveitá-los?What are the skills of the people available to work on a feature, and how to best leverage these resources? Cada membro da equipe do EF e os colaboradores da comunidade têm diferentes níveis de experiência em áreas distintas, portanto, temos que planejar adequadamente.Each member of the EF team and our community contributors has different levels of experience in different areas, so we have to plan accordingly. Mesmo se quiséssemos que todos se empenhassem em trabalhar em um recurso específico, como as traduções do GroupBy ou muitos para muitos, isso não seria prático.Even if we wanted to have "all hands on deck" to work on a specific feature like GroupBy translations, or many-to-many, that wouldn't be practical.

Como mencionado anteriormente, o processo evolui a cada versão.As mentioned before, the process evolves on every release. No futuro, tentaremos dar mais oportunidades para membros da comunidade fornecerem contribuições sobre nossos planos de versão.In the future, we'll try to add more opportunities for members of the community to provide inputs into our release plans. Por exemplo, facilitando a revisão dos rascunhos propostos dos recursos e do próprio plano de versão.For example, we would like to make it easier to review draft designs of the features and of the release plan itself.