{"id":1294,"date":"2026-03-16T17:04:15","date_gmt":"2026-03-16T20:04:15","guid":{"rendered":"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/"},"modified":"2026-03-16T17:04:15","modified_gmt":"2026-03-16T20:04:15","slug":"novedades-dotnet-11-preview-2-marzo-2026","status":"publish","type":"post","link":"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/","title":{"rendered":"Novedades en .NET 11 Preview 2 (Marzo 2026): IA, Rendimiento y Blazor"},"content":{"rendered":"\n<p>Microsoft lanz\u00f3 en marzo de 2026 la segunda Preview de .NET 11, y la lista de novedades es suficientemente interesante como para que valga la pena revisarla ahora, sin esperar al release final de noviembre. Lo que se ve en esta preview marca la direcci\u00f3n del ecosistema: m\u00e1s IA integrada en el ORM, mejor observabilidad por defecto, y optimizaciones del runtime que van a impactar en aplicaciones de alta concurrencia. Ac\u00e1 te cuento lo m\u00e1s relevante.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Entity Framework Core: IA y Funciones Avanzadas de SQL Server<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u00cdndices Vectoriales DiskANN y VECTOR_SEARCH()<\/h3>\n\n\n\n<p>Las versiones anteriores introdujeron soporte b\u00e1sico para embeddings vectoriales. .NET 11 da el siguiente paso: integraci\u00f3n nativa con <strong>DiskANN<\/strong>, el algoritmo de b\u00fasqueda vectorial aproximada ultrarr\u00e1pido de SQL Server y Azure SQL. Esto permite correr consultas de tipo RAG (Retrieval Augmented Generation) a escala masiva sin degradar el rendimiento transaccional de la base de datos. En proyectos donde combinamos b\u00fasqueda sem\u00e1ntica con l\u00f3gica de negocio tradicional, esto es un cambio significativo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Configuraci\u00f3n del \u00edndice vectorial DiskANN en el DbContext\nprotected override void OnModelCreating(ModelBuilder modelBuilder)\n{\n    modelBuilder.Entity&lt;Articulo&gt;()\n        .HasIndex(a => a.Embedding)\n        .HasMethod(\"diskann\"); \/\/ \u00cdndice de alto rendimiento\n}\n\n\/\/ Consulta LINQ que usa la funci\u00f3n nativa VECTOR_SEARCH\nReadOnlyMemory&lt;float&gt; vectorUsuario = ObtenerVectorDelPrompt();\n\nvar articulosSimilares = await context.Articulos\n    .Where(a => EF.Functions.VectorSearch(a.Embedding, vectorUsuario))\n    .Take(10)\n    .ToListAsync();<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">JSON_CONTAINS y Soporte Full-Text<\/h3>\n\n\n\n<p>Trabajar con columnas JSON en bases de datos relacionales siempre fue un poco inc\u00f3modo: o tra\u00edas todo a memoria y deserializabas, o escrib\u00edas SQL crudo. EF Core 11 expone <code>EF.Functions.JsonContains()<\/code> que se traduce directamente a la instrucci\u00f3n optimizada de SQL Server. Adem\u00e1s, ya pod\u00e9s crear cat\u00e1logos e \u00edndices Full-Text directamente desde las migraciones, sin tocar SQL a mano.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Busca dentro del documento JSON sin traerlo a memoria\nvar usuariosConPreferencia = await context.Usuarios\n    .Where(u => EF.Functions.JsonContains(u.Configuraciones, \"{\\\"Tema\\\":\\\"Oscuro\\\"}\"))\n    .ToListAsync();<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Soporte nativo para MaxBy y MinBy<\/h3>\n\n\n\n<p>Peque\u00f1o pero muy pr\u00e1ctico. Hist\u00f3ricamente, obtener la entidad completa con el valor m\u00e1ximo de una propiedad requer\u00eda un <code>.OrderByDescending().FirstOrDefault()<\/code> que generaba una query m\u00e1s pesada. Ahora <code>.MaxByAsync()<\/code> y <code>.MinByAsync()<\/code> se traducen directamente a la consulta SQL m\u00e1s eficiente seg\u00fan el proveedor.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Obtiene la entidad completa del empleado con el salario m\u00e1s alto\nvar empleadoTop = await context.Empleados\n    .Where(e => e.DepartamentoId == 5)\n    .MaxByAsync(e => e.Salario);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2. ASP.NET Core y Blazor: Observabilidad y Manejo de Estado<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Trazabilidad Nativa de OpenTelemetry<\/h3>\n\n\n\n<p>OpenTelemetry ya era compatible con versiones anteriores, pero la integraci\u00f3n requer\u00eda configuraci\u00f3n manual. En .NET 11 Preview 2, el rastreo de m\u00e9tricas, logs y trazas distribuidas viene activado desde los templates base. Esto es especialmente valioso en arquitecturas orquestadas con .NET Aspire: el viaje completo de una petici\u00f3n entre microservicios queda trazado sin escribir una l\u00ednea extra de configuraci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">TempData en Blazor<\/h3>\n\n\n\n<p>En MVC cl\u00e1sico, <code>TempData<\/code> era la forma est\u00e1ndar de pasar mensajes ef\u00edmeros (\u00abGuardado exitosamente\u00bb) que sobreviv\u00edan a una redirecci\u00f3n HTTP. Blazor no ten\u00eda un equivalente nativo sencillo, lo que obligaba a usar workarounds con servicios de estado o query params. .NET 11 lo resuelve de forma limpia.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@page \"\/formulario\"\n@inject NavigationManager Nav\n\n&lt;button class=\"btn\" @onclick=\"Guardar\"&gt;Guardar Perfil&lt;\/button&gt;\n\n@code {\n    [TempData]\n    public string MensajeExito { get; set; }\n\n    private void Guardar()\n    {\n        \/\/ L\u00f3gica de guardado...\n        MensajeExito = \"\u00a1El perfil se ha actualizado correctamente!\";\n        Nav.NavigateTo(\"\/perfil\"); \/\/ El mensaje sobrevive a esta redirecci\u00f3n\n    }\n}<\/code><\/pre>\n\n\n\n<p>Simple, declarativo, y consistente con lo que ya conoc\u00edan los desarrolladores que ven\u00edan de MVC.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Soporte para OpenAPI 3.2.0<\/h3>\n\n\n\n<p>Las APIs creadas con .NET 11 soportan de f\u00e1brica el est\u00e1ndar <strong>OpenAPI 3.2.0<\/strong> mediante el paquete interno <code>Microsoft.AspNetCore.OpenApi<\/code>. Documentaci\u00f3n autom\u00e1tica de contratos REST alineada con las mejores pr\u00e1cticas modernas, sin dependencias externas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Mejoras en el Runtime y Bibliotecas Base<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">System.Text.Json Gen\u00e9rico y Optimizaciones AOT<\/h3>\n\n\n\n<p>El soporte de JSON para compilaci\u00f3n nativa (Native AOT) sigue madurando. La novedad es un selector gen\u00e9rico para metadatos (<code>GetTypeInfo&lt;T&gt;<\/code>) que permite a los desarrolladores de librer\u00edas navegar \u00e1rboles de serializaci\u00f3n de forma ultrarr\u00e1pida, sin las penalizaciones cl\u00e1sicas del boxing ni la reflexi\u00f3n lenta. Si public\u00e1s paquetes NuGet, esto te va a interesar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Optimizaciones del JIT y Runtime Async V2<\/h3>\n\n\n\n<p>Esta es la mejora que m\u00e1s me entusiasma a nivel de plataforma. El equipo de .NET est\u00e1 evolucionando c\u00f3mo se compila el modelo <code>async\/await<\/code> bajo el cap\u00f3 (la state machine que genera el compilador). El nuevo modelo <strong>Async V2<\/strong> reduce significativamente las asignaciones de memoria en operaciones as\u00edncronas, lo que se traduce en menos presi\u00f3n sobre el Garbage Collector en aplicaciones web de alta concurrencia. Combinado con el nuevo <strong>Cached Interface Dispatch<\/strong> (que mejora la velocidad del c\u00f3digo gen\u00e9rico), el runtime de .NET 11 promete ser notablemente m\u00e1s eficiente.<\/p>\n\n\n\n<p>En producci\u00f3n, en APIs que manejan miles de requests por segundo, estas optimizaciones no son menores.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Contenedores, F#, MAUI y m\u00e1s<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n  <li><strong>Im\u00e1genes Docker m\u00e1s livianas:<\/strong> Las im\u00e1genes SDK de .NET para Linux y macOS se redujeron un <strong>17%<\/strong>. Menos tiempo de descarga en CI\/CD, pipelines m\u00e1s r\u00e1pidos.<\/li>\n  <li><strong>F# modernizado:<\/strong> La directiva <code>#elif<\/code> para compilaci\u00f3n condicional, cach\u00e9 de resoluci\u00f3n de sobrecargas y simplificaciones en la herencia de interfaces con Default Interface Methods (DIM). La comunidad de F# lo ven\u00eda pidiendo hace tiempo.<\/li>\n  <li><strong>.NET MAUI:<\/strong> Optimizaciones en <code>TypedBindings<\/code> y marcadores de inmutabilidad para elementos como <em>Font<\/em> y <em>Color<\/em>. El efecto pr\u00e1ctico es que los motores de interfaz evitan re-renderizar pantallas cuando los valores no cambiaron, mejorando la fluidez visual.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>.NET 11 Preview 2 no es solo una preview de mantenimiento: marca claramente las apuestas de Microsoft para el ciclo siguiente. IA integrada a nivel de ORM, observabilidad como ciudadano de primera clase, y un runtime async m\u00e1s eficiente son se\u00f1ales de hacia d\u00f3nde va el ecosistema.<\/p>\n\n\n\n<p>No recomendar\u00eda usar una preview en producci\u00f3n, pero s\u00ed vale la pena explorarla en proyectos de laboratorio ya. Varias de estas features van a cambiar h\u00e1bitos que tenemos muy arraigados \u2014especialmente <code>MaxByAsync<\/code>, <code>JsonContains<\/code> y el soporte nativo de OpenTelemetry.<\/p>\n\n\n\n<p>\u00bfAlguna de estas novedades te genera dudas o quer\u00e9s ver un caso de uso m\u00e1s concreto? Dejalo en los comentarios.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>An\u00e1lisis completo de .NET 11 Preview 2 (Marzo 2026): \u00edndices vectoriales DiskANN en EF Core, JsonContains, MaxByAsync, TempData en Blazor, OpenAPI 3.2, Async V2, im\u00e1genes Docker 17% m\u00e1s livianas y m\u00e1s. Con ejemplos de c\u00f3digo y contexto pr\u00e1ctico.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1,202],"tags":[358,359,309,364,344,185,362,361,360,224,351,307,365,363,349],"class_list":["post-1294","post","type-post","status-publish","format-standard","hentry","category-blog","category-dotnet","tag-net-11","tag-asp-net-core","tag-blazor","tag-diskann","tag-ef-core","tag-entityframework","tag-f","tag-jit","tag-json","tag-maui","tag-native-aot","tag-openapi","tag-preview","tag-tempdata","tag-vector-search"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Novedades en .NET 11 Preview 2 (Marzo 2026): IA, Rendimiento y Blazor &#183; devops Mauro Bernal<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Novedades en .NET 11 Preview 2 (Marzo 2026): IA, Rendimiento y Blazor &#183; devops Mauro Bernal\" \/>\n<meta property=\"og:description\" content=\"An\u00e1lisis completo de .NET 11 Preview 2 (Marzo 2026): \u00edndices vectoriales DiskANN en EF Core, JsonContains, MaxByAsync, TempData en Blazor, OpenAPI 3.2, Async V2, im\u00e1genes Docker 17% m\u00e1s livianas y m\u00e1s. Con ejemplos de c\u00f3digo y contexto pr\u00e1ctico.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/\" \/>\n<meta property=\"og:site_name\" content=\"devops Mauro Bernal\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-16T20:04:15+00:00\" \/>\n<meta name=\"author\" content=\"Mauro Bernal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@_maurobernal\" \/>\n<meta name=\"twitter:site\" content=\"@_maurobernal\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mauro Bernal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-dotnet-11-preview-2-marzo-2026\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-dotnet-11-preview-2-marzo-2026\\\/\"},\"author\":{\"name\":\"Mauro Bernal\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"headline\":\"Novedades en .NET 11 Preview 2 (Marzo 2026): IA, Rendimiento y Blazor\",\"datePublished\":\"2026-03-16T20:04:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-dotnet-11-preview-2-marzo-2026\\\/\"},\"wordCount\":899,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"keywords\":[\".NET 11\",\"ASP.NET Core\",\"blazor\",\"DiskANN\",\"EF Core\",\"EntityFramework\",\"F#\",\"JIT\",\"JSON\",\"maui\",\"Native AOT\",\"openapi\",\"Preview\",\"TempData\",\"Vector Search\"],\"articleSection\":[\"Blog\",\"DotNet\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-dotnet-11-preview-2-marzo-2026\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-dotnet-11-preview-2-marzo-2026\\\/\",\"url\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-dotnet-11-preview-2-marzo-2026\\\/\",\"name\":\"Novedades en .NET 11 Preview 2 (Marzo 2026): IA, Rendimiento y Blazor &#183; devops Mauro Bernal\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#website\"},\"datePublished\":\"2026-03-16T20:04:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-dotnet-11-preview-2-marzo-2026\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-dotnet-11-preview-2-marzo-2026\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-dotnet-11-preview-2-marzo-2026\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Novedades en .NET 11 Preview 2 (Marzo 2026): IA, Rendimiento y Blazor\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/\",\"name\":\"devops Mauro Bernal\",\"description\":\"Cuando tu trabajo es hacer que las cosas funcionen bien...\",\"publisher\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\",\"name\":\"Mauro Bernal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\",\"width\":1740,\"height\":1740,\"caption\":\"Mauro Bernal\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\"},\"description\":\"Desarrollo de Sistemas en .Net, IT Callcenters, DBA de SQL Server, Mikrotik, Pentest y T\u00e9cnico consultor de Sistemas Bejerman\",\"sameAs\":[\"https:\\\/\\\/maurobernal.com.ar\",\"https:\\\/\\\/x.com\\\/_maurobernal\",\"https:\\\/\\\/youtube.com\\\/maurobernal\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Novedades en .NET 11 Preview 2 (Marzo 2026): IA, Rendimiento y Blazor &#183; devops Mauro Bernal","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/","og_locale":"es_ES","og_type":"article","og_title":"Novedades en .NET 11 Preview 2 (Marzo 2026): IA, Rendimiento y Blazor &#183; devops Mauro Bernal","og_description":"An\u00e1lisis completo de .NET 11 Preview 2 (Marzo 2026): \u00edndices vectoriales DiskANN en EF Core, JsonContains, MaxByAsync, TempData en Blazor, OpenAPI 3.2, Async V2, im\u00e1genes Docker 17% m\u00e1s livianas y m\u00e1s. Con ejemplos de c\u00f3digo y contexto pr\u00e1ctico.","og_url":"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/","og_site_name":"devops Mauro Bernal","article_published_time":"2026-03-16T20:04:15+00:00","author":"Mauro Bernal","twitter_card":"summary_large_image","twitter_creator":"@_maurobernal","twitter_site":"@_maurobernal","twitter_misc":{"Escrito por":"Mauro Bernal","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/#article","isPartOf":{"@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/"},"author":{"name":"Mauro Bernal","@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"headline":"Novedades en .NET 11 Preview 2 (Marzo 2026): IA, Rendimiento y Blazor","datePublished":"2026-03-16T20:04:15+00:00","mainEntityOfPage":{"@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/"},"wordCount":899,"commentCount":0,"publisher":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"keywords":[".NET 11","ASP.NET Core","blazor","DiskANN","EF Core","EntityFramework","F#","JIT","JSON","maui","Native AOT","openapi","Preview","TempData","Vector Search"],"articleSection":["Blog","DotNet"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/","url":"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/","name":"Novedades en .NET 11 Preview 2 (Marzo 2026): IA, Rendimiento y Blazor &#183; devops Mauro Bernal","isPartOf":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#website"},"datePublished":"2026-03-16T20:04:15+00:00","breadcrumb":{"@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-dotnet-11-preview-2-marzo-2026\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/maurobernal.com.ar\/blog\/"},{"@type":"ListItem","position":2,"name":"Novedades en .NET 11 Preview 2 (Marzo 2026): IA, Rendimiento y Blazor"}]},{"@type":"WebSite","@id":"https:\/\/maurobernal.com.ar\/blog\/#website","url":"https:\/\/maurobernal.com.ar\/blog\/","name":"devops Mauro Bernal","description":"Cuando tu trabajo es hacer que las cosas funcionen bien...","publisher":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/maurobernal.com.ar\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":["Person","Organization"],"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283","name":"Mauro Bernal","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1","url":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1","contentUrl":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1","width":1740,"height":1740,"caption":"Mauro Bernal"},"logo":{"@id":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1"},"description":"Desarrollo de Sistemas en .Net, IT Callcenters, DBA de SQL Server, Mikrotik, Pentest y T\u00e9cnico consultor de Sistemas Bejerman","sameAs":["https:\/\/maurobernal.com.ar","https:\/\/x.com\/_maurobernal","https:\/\/youtube.com\/maurobernal"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts\/1294","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/comments?post=1294"}],"version-history":[{"count":0,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts\/1294\/revisions"}],"wp:attachment":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/media?parent=1294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/categories?post=1294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/tags?post=1294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}