Visão geral
Nesta seção, você pode identificar as alterações essenciais que deve fazer no aplicação ao atualizar o provedor para uma nova versão.
Antes de atualizar, execute as seguintes ações:
Ensure the new version is compatible with the MongoDB Server version your application connects to and the .NET version your application runs on. See the Compatibility page for this information.
Resolva quaisquer alterações significativas entre a versão atual do fornecedor que seu aplicação está usando e a versão de atualização planejada na seção Alterações significativas.
Mudanças de última hora
Uma alteração interruptiva significativa é uma modificação de uma convenção ou comportamento a partir de uma versão específica do provedor. Esse tipo de alteração pode impedir que seu aplicação funcione corretamente se não for resolvido antes de atualizar o fornecedor.
As mudanças significativas nesta seção são categorizadas pela versão do provedor que as introduziram. Ao atualizar as versões do fornecedor, resolva todas as alterações significativas entre a versão atual e a atualizada. Por exemplo, se você estiver atualizando o provedor da v8.0 para a v8.5, resolva todas as alterações significativas da versão posterior à v8.0, incluindo qualquer um listado em v8.5.
Versão 8.1.0 Alterações interruptivas
Atualizou o EF Core Provider para executar todas as alterações como transações MongoDB . Se o seu aplicação usar o MongoDB Server anterior à v5.0, ou não for executado em um conjunto de réplicas, você deverá fazer as seguintes alterações no seu aplicação:
Se seu aplicação estiver configurado para uma versão do MongoDB Server anterior à v5.0, você deve atualizar para o MongoDB Server v5.0 ou posterior.
If your application runs on a standalone server, you must reconfigure your standalone server to a single-instance replica set. To learn more about how to reconfigure your standalone server, see Convert a Standalone Self-Managed mongod to a Replica Set in the MongoDB Server manual.
Se seu aplicação for executado em um ambiente de contêiner, alterne para um contêiner de conjunto de réplicas de instância única, se houver um disponível.
Para evitar problemas de snapshots durante as transações, chame o método
EnsureCreated()ouEnsureCreatedAsync()durante a inicialização do aplicação , em vez de criar a coleção ou o banco de dados de dados implicitamente.Observação
A chamada do
EnsureCreated()EnsureCreatedAsync()método ou gera um erro se o seu aplicação estiver sendo executado em um cluster compartilhado . Os aplicativos executados em clusters gratuitos e compartilhados não devem chamar esses métodos.Se você não quiser garantir uma simultaneidade otimista com as transações, poderá desativar as transações automáticas
Database.AutoTransactionBehavior = AutoTrasactionBehavior.NeverdefinindoDbContextna sua subclasse durante a configuração do aplicação .O formato de armazenamento GUID padrão foi alterado do formato
CSharpLegacybinário para o formatoStandard. Se seu banco de dados de dados contiver GUIDs existentes que não estejam no formatoStandard, recomendamos convertê-los no formatoStandard.O
CamelCaseElementNameConventionconverte as letras maiúsculas e minúsculas de entidades de propriedade com base no nome da propriedade em vez do nome da classe . Se seu aplicação usa oCamelCaseElementNameConvention, as letras maiúsculas e minúsculas dos dados podem mudar.
Para obter mais informações sobre as alterações significativas nesta versão, consulte a seção Alterações significativas do repositório do provedor no Github.