Overview
Esta página describe los cambios que podrías necesitar hacer a tu aplicación cuando actualices el Driver .NET/C# a la versión 2.x.
Cómo actualizar
Cada sección de esta página enumera los posibles cambios importantes introducidos por cada versión del controlador. Para actualizar el controlador .NET/C# a la versión 2.x, siga estos pasos:
Revisar la Compatibilidad página para asegurar que la nueva versión del driver sea compatible con las versiones de MongoDB Server a las que se conecta tu aplicación y con la versión de .NET o del framework .NET en la que se ejecuta tu aplicación.
Aborde cualquier cambio disruptivo entre la versión del controlador que su aplicación utiliza y su versión de actualización objetivo en la sección Cambios importantes por versión.
Ejemplo
Si estás actualizando el driver de la v2.14 a la v2.21, aborda todos los cambios disruptivos a partir de la versión después de la v2.14 (v2.19), incluyendo cualquier cambio para la v2.21.
Cambios importantes por versión
Las siguientes secciones describen los posibles cambios disruptivos introducidos por cada versión del driver. Si una versión del driver no está incluida en esta sección, no introduce ningún cambio disruptivo.
Versión 2.28.0 cambio disruptivo
El controlador utiliza nombres seguros para todos sus componentes. Si su aplicación tiene dependencias que hacen referencia a varias versiones del controlador .NET/C#, debe crear redirecciones de enlace, como se muestra en el siguiente ejemplo:
<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="MongoDB.Driver" publicKeyToken="94992a530f44e321" culture="neutral" /> <bindingRedirect oldVersion="2.28.0.0" newVersion="<version number to use>" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="MongoDB.Bson" publicKeyToken="94992a530f44e321" culture="neutral" /> <bindingRedirect oldVersion="2.28.0.0" newVersion="<version number to use>" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="MongoDB.Driver.Core" publicKeyToken="94992a530f44e321" culture="neutral" /> <bindingRedirect oldVersion="2.28.0.0" newVersion="<version number to use>" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
Versión 2.21.0 cambio disruptivo
El controlador cambia la firma de
RenderMétodos en los constructores de búsqueda de MongoDB. En versiones anteriores del controlador, estos métodos tenían la siguiente firma:Render(IBsonSerializer<TDocument> documentSerializer, IBsonSerializerRegistry serializerRegistry); En la versión 2.21.0 y posteriores, los métodos
Rendertienen la siguiente firma:Render(SearchDefinitionRenderContext<TDocument> renderContext);
Versión 2.19.0 cambio disruptivo
El
ObjectSerializersolo permite la deserialización de tipos considerados seguros. Si no se especifica lo contrario, elObjectSerializerutiliza los tipos devueltos por elObjectSerializer.DefaultAllowedTypes.Para obtener más información sobre
ObjectSerializer, visite el sitio web Preguntas frecuentes. Para obtener más información sobreDefaultAllowedTypes, visite la Documentación de la API.El
LinqProviderpor defecto se ha cambiado a LINQ3. ElLinqProviderpuede configurarse para LINQ2 enMongoClientSettings, como se muestra en el siguiente ejemplo de código:var connectionString = "<connection string>"; var clientSettings = MongoClientSettings .FromConnectionString(connectionString); clientSettings.LinqProvider = LinqProvider.V2; var client = new MongoClient(clientSettings); Si su aplicación usa el3 proveedor LINQ, no podrá usar
-1para representar el operador posicional al actualizar un array. Para aprender a usar el operador posicional, consulte Actualizar uno y Actualizar muchos.
Versión 2.14.0 Cambios importantes
El controlador deja de soportar MongoDB Server v3.4 y versiones anteriores. Debes actualizar tu servidor MongoDB a la versión v3.6 o posterior.
Para aprender a actualizar tu implementación de MongoDB Server, consulta las notas de versión en el manual de MongoDB Server. Para obtener más información sobre la compatibilidad entre el driver .NET/C# y el servidor MongoDB, consulta la página Compatibilidad.
El controlador ya no es compatible con .NET Framework v4.5.2 y versiones anteriores. Su aplicación debe usar .NET Framework v4.7.2 o posterior, .NET Core 2.x o posterior, o .NET 5 o posterior.
Para saber más sobre la compatibilidad entre el driver .NET/C# y .NET, consulte la página de Compatibilidad.
El driver deja de dar soporte a .NET Standard v1.5. Tu aplicación debe usar .NET Standard v2.0 o posterior.