{"id":1316,"date":"2026-03-24T21:02:15","date_gmt":"2026-03-25T00:02:15","guid":{"rendered":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/"},"modified":"2026-03-24T21:02:15","modified_gmt":"2026-03-25T00:02:15","slug":"novedades-en-ef-core-11-vector-search-cosmos-db-migraciones","status":"publish","type":"post","link":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/","title":{"rendered":"Novedades en EF Core 11: Vector Search, Cosmos DB y migraciones mejoradas"},"content":{"rendered":"<p>EF Core 11 (EF11) es la siguiente versi\u00f3n despu\u00e9s de EF Core 10 y est\u00e1 actualmente en desarrollo junto con .NET 11. Esta versi\u00f3n trae mejoras importantes en herencia, soporte para Vector Search en SQL Server 2025, Cosmos DB m\u00e1s potente y un flujo de migraciones mucho m\u00e1s c\u00f3modo.<\/p>\n<h2 class=\"wp-block-heading\">&#x1f9e9; Complex Types y JSON Columns en TPT\/TPC<\/h2>\n<p>Hasta ahora, los <em>complex types<\/em> y las <em>JSON columns<\/em> no pod\u00edan usarse en entidades con herencia TPT (table-per-type) o TPC (table-per-concrete-type). EF Core 11 elimina esa limitaci\u00f3n.<\/p>\n<p>Ejemplo con herencia TPT y un complex type:<\/p>\n<pre class=\"wp-block-code\"><code>public abstract class Animal\n{\n    public int Id { get; set; }\n    public string Name { get; set; }\n    public required AnimalDetails Details { get; set; }\n}\n\npublic class Dog : Animal { public string Breed { get; set; } }\npublic class Cat : Animal { public bool IsIndoor { get; set; } }\n\n[ComplexType]\npublic class AnimalDetails\n{\n    public DateTime BirthDate { get; set; }\n    public string? Veterinarian { get; set; }\n}<\/code><\/pre>\n<p>EF 11 genera correctamente las columnas <code>Details_BirthDate<\/code> y <code>Details_Veterinarian<\/code> en la tabla <code>Animal<\/code>. Tambi\u00e9n pod\u00e9s mapear el complex type a una JSON column:<\/p>\n<pre class=\"wp-block-code\"><code>modelBuilder.Entity&lt;Animal&gt;()\n    .UseTptMappingStrategy()\n    .ComplexProperty(a =&gt; a.Details, b =&gt; b.ToJson());<\/code><\/pre>\n<h2 class=\"wp-block-heading\">&#x1f50d; LINQ: MaxBy y MinBy<\/h2>\n<p>EF Core 11 traduce <code>MaxByAsync<\/code> y <code>MinByAsync<\/code> a SQL. Permiten obtener la entidad con el valor m\u00e1ximo o m\u00ednimo de un campo calculado:<\/p>\n<pre class=\"wp-block-code\"><code>var blogWithMostPosts = await context.Blogs.MaxByAsync(b =&gt; b.Posts.Count());<\/code><\/pre>\n<p>Se traduce a:<\/p>\n<pre class=\"wp-block-code\"><code>SELECT TOP(1) [b].[Id], [b].[Name]\nFROM [Blogs] AS [b]\nORDER BY (\n    SELECT COUNT(*)\n    FROM [Posts] AS [p]\n    WHERE [b].[Id] = [p].[BlogId]) DESC<\/code><\/pre>\n<h2 class=\"wp-block-heading\">&#x2601;&#xfe0f; Cosmos DB: batches, bulk execution y session tokens<\/h2>\n<h3 class=\"wp-block-heading\">Transactional Batches<\/h3>\n<p>EF Core 11 aprovecha los <em>transactional batches<\/em> de Cosmos DB por defecto, agrupando operaciones por container y partici\u00f3n para ejecutarlas at\u00f3micamente en un solo roundtrip. El comportamiento se controla con <code>AutoTransactionBehavior<\/code>:<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>Auto<\/strong> (default): operaciones agrupadas en batches por container\/partici\u00f3n.<\/li>\n<li><strong>Never<\/strong>: operaciones individuales y secuenciales (comportamiento pre-EF11).<\/li>\n<li><strong>Always<\/strong>: exige que todo entre en un \u00fanico batch; lanza excepci\u00f3n si no es posible.<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\">Bulk Execution<\/h3>\n<p>Habilit\u00e1 la ejecuci\u00f3n masiva en paralelo para mejorar el throughput al guardar muchas entidades:<\/p>\n<pre class=\"wp-block-code\"><code>optionsBuilder.UseCosmos(\n    \"&lt;connection string&gt;\",\n    databaseName: \"OrdersDB\",\n    options =&gt; options.BulkExecutionEnabled());<\/code><\/pre>\n<h3 class=\"wp-block-heading\">Session Token Management<\/h3>\n<p>Para entornos con m\u00faltiples instancias (por ejemplo, load balancing round-robin), EF Core 11 expone APIs para gestionar manualmente los session tokens y garantizar consistencia read-your-writes:<\/p>\n<pre class=\"wp-block-code\"><code>var sessionToken = context.Database.GetSessionToken();\n\ncontext.Database.UseSessionToken(sessionToken);\nvar result = await context.Documents.FindAsync(id);<\/code><\/pre>\n<h2 class=\"wp-block-heading\">&#x1f5c4;&#xfe0f; Migraciones mejoradas<\/h2>\n<h3 class=\"wp-block-heading\">Crear y aplicar en un solo paso<\/h3>\n<p>El nuevo flag <code>--add<\/code> en <code>dotnet ef database update<\/code> crea y aplica una migraci\u00f3n en un \u00fanico paso usando Roslyn. Ideal para .NET Aspire y apps containerizadas:<\/p>\n<pre class=\"wp-block-code\"><code>dotnet ef database update InitialCreate --add\ndotnet ef database update AddProducts --add --output-dir Migrations\/Products --namespace MyApp.Migrations<\/code><\/pre>\n<p>En PowerShell:<\/p>\n<pre class=\"wp-block-code\"><code>Update-Database -Migration InitialCreate -Add<\/code><\/pre>\n<h3 class=\"wp-block-heading\">Connection y modo offline para migrations remove<\/h3>\n<p>Los comandos <code>migrations remove<\/code> y <code>database drop<\/code> ahora aceptan <code>--connection<\/code>. Adem\u00e1s, <code>--offline<\/code> permite eliminar migraciones sin conectarse a la base de datos:<\/p>\n<pre class=\"wp-block-code\"><code>dotnet ef migrations remove --connection \"Server=prod;Database=MyDb;...\"\ndotnet ef migrations remove --offline\ndotnet ef migrations remove --force<\/code><\/pre>\n<h2 class=\"wp-block-heading\">&#x1f50e; SQL Server: Vector Search e \u00edndices vectoriales<\/h2>\n<p>EF Core 11 a\u00f1ade soporte para <strong>VECTOR_SEARCH()<\/strong> e \u00edndices vectoriales en SQL Server 2025. Defin\u00eds el \u00edndice en el modelo:<\/p>\n<pre class=\"wp-block-code\"><code>modelBuilder.Entity&lt;Blog&gt;()\n    .HasVectorIndex(b =&gt; b.Embedding, \"cosine\");<\/code><\/pre>\n<p>Y realiz\u00e1s b\u00fasquedas aproximadas en LINQ:<\/p>\n<pre class=\"wp-block-code\"><code>var blogs = await context.Blogs\n    .VectorSearch(b =&gt; b.Embedding, \"cosine\", embedding, topN: 5)\n    .ToListAsync();<\/code><\/pre>\n<p><code>VectorSearch()<\/code> devuelve <code>VectorSearchResult&lt;TEntity&gt;<\/code> con acceso al score de distancia junto a la entidad.<\/p>\n<h2 class=\"wp-block-heading\">&#x1f4c4; SQL Server: Full-Text Search mejorado<\/h2>\n<h3 class=\"wp-block-heading\">Cat\u00e1logos e \u00edndices desde el modelo<\/h3>\n<p>Configur\u00e1 cat\u00e1logos e \u00edndices full-text directamente en tu modelo para que las migraciones los gestionen autom\u00e1ticamente:<\/p>\n<pre class=\"wp-block-code\"><code>modelBuilder.HasFullTextCatalog(\"ftCatalog\");\n\nmodelBuilder.Entity&lt;Blog&gt;()\n    .HasFullTextIndex(b =&gt; b.FullName)\n    .HasKeyIndex(\"PK_Blogs\")\n    .OnCatalog(\"ftCatalog\");<\/code><\/pre>\n<h3 class=\"wp-block-heading\">FREETEXTTABLE y CONTAINSTABLE con ranking<\/h3>\n<p>EF Core 11 soporta las funciones table-valued que devuelven un score de relevancia:<\/p>\n<pre class=\"wp-block-code\"><code>var results = await context.Blogs\n    .FreeTextTable(b =&gt; b.FullName, \"John\")\n    .Select(r =&gt; new { Blog = r.Value, Rank = r.Rank })\n    .OrderByDescending(r =&gt; r.Rank)\n    .ToListAsync();<\/code><\/pre>\n<h2 class=\"wp-block-heading\">&#x26a1; SQL Server 2025: JSON_CONTAINS<\/h2>\n<p>Cuando apunt\u00e1s a SQL Server 2025 (compatibility level 170), las queries <code>Contains<\/code> sobre colecciones JSON usan la nueva funci\u00f3n <code>JSON_CONTAINS()<\/code>, reemplazando el menos eficiente <code>OPENJSON<\/code> y permitiendo aprovechar \u00edndices JSON:<\/p>\n<pre class=\"wp-block-code\"><code>optionsBuilder.UseSqlServer(\"&lt;CONNECTION STRING&gt;\", o =&gt; o.UseCompatibilityLevel(170));\n\n\/\/ EF genera: WHERE JSON_CONTAINS([b].[Tags], 'ef-core') = 1\nvar blogs = await context.Blogs\n    .Where(b =&gt; b.Tags.Contains(\"ef-core\"))\n    .ToListAsync();<\/code><\/pre>\n<h2 class=\"wp-block-heading\">&#x1f4dd; Conclusi\u00f3n<\/h2>\n<p>EF Core 11 cierra brechas importantes: herencia con complex types y JSON columns, LINQ m\u00e1s expresivo con MaxBy\/MinBy, Cosmos DB listo para escala en producci\u00f3n, migraciones m\u00e1s ergon\u00f3micas y soporte de primera clase para SQL Server 2025 con Vector Search, JSON_CONTAINS y full-text con ranking.<\/p>\n<p>Para ver todas las novedades, la documentaci\u00f3n oficial est\u00e1 en <a href=\"https:\/\/learn.microsoft.com\/en-us\/ef\/core\/what-is-new\/ef-core-11.0\/whatsnew\">learn.microsoft.com\/ef\/core\/what-is-new\/ef-core-11.0\/whatsnew<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>EF Core 11 llega con complex types en TPT\/TPC, VECTOR_SEARCH() e \u00edndices vectoriales en SQL Server 2025, Cosmos DB con batches transaccionales y bulk execution, nuevo flag &#8211;add en migraciones, y full-text search con ranking via FREETEXTTABLE y CONTAINSTABLE.<\/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],"tags":[38,39,211,18,344,185,360,187,289,345,37,349],"class_list":["post-1316","post","type-post","status-publish","format-standard","hentry","category-blog","tag-net","tag-c","tag-csharp","tag-dotnet","tag-ef-core","tag-entityframework","tag-json","tag-linq","tag-migration","tag-orm","tag-sql-server","tag-vector-search"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Novedades en EF Core 11: Vector Search, Cosmos DB y migraciones mejoradas &#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-en-ef-core-11-vector-search-cosmos-db-migraciones\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Novedades en EF Core 11: Vector Search, Cosmos DB y migraciones mejoradas &#183; devops Mauro Bernal\" \/>\n<meta property=\"og:description\" content=\"EF Core 11 llega con complex types en TPT\/TPC, VECTOR_SEARCH() e \u00edndices vectoriales en SQL Server 2025, Cosmos DB con batches transaccionales y bulk execution, nuevo flag --add en migraciones, y full-text search con ranking via FREETEXTTABLE y CONTAINSTABLE.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/\" \/>\n<meta property=\"og:site_name\" content=\"devops Mauro Bernal\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-25T00:02: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=\"4 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-en-ef-core-11-vector-search-cosmos-db-migraciones\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\\\/\"},\"author\":{\"name\":\"Mauro Bernal\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"headline\":\"Novedades en EF Core 11: Vector Search, Cosmos DB y migraciones mejoradas\",\"datePublished\":\"2026-03-25T00:02:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\\\/\"},\"wordCount\":553,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"keywords\":[\".NET\",\"c#\",\"csharp\",\"dotnet\",\"EF Core\",\"EntityFramework\",\"JSON\",\"Linq\",\"migration\",\"ORM\",\"sql server\",\"Vector Search\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\\\/\",\"url\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\\\/\",\"name\":\"Novedades en EF Core 11: Vector Search, Cosmos DB y migraciones mejoradas &#183; devops Mauro Bernal\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#website\"},\"datePublished\":\"2026-03-25T00:02:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Novedades en EF Core 11: Vector Search, Cosmos DB y migraciones mejoradas\"}]},{\"@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 EF Core 11: Vector Search, Cosmos DB y migraciones mejoradas &#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-en-ef-core-11-vector-search-cosmos-db-migraciones\/","og_locale":"es_ES","og_type":"article","og_title":"Novedades en EF Core 11: Vector Search, Cosmos DB y migraciones mejoradas &#183; devops Mauro Bernal","og_description":"EF Core 11 llega con complex types en TPT\/TPC, VECTOR_SEARCH() e \u00edndices vectoriales en SQL Server 2025, Cosmos DB con batches transaccionales y bulk execution, nuevo flag --add en migraciones, y full-text search con ranking via FREETEXTTABLE y CONTAINSTABLE.","og_url":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/","og_site_name":"devops Mauro Bernal","article_published_time":"2026-03-25T00:02: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":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/#article","isPartOf":{"@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/"},"author":{"name":"Mauro Bernal","@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"headline":"Novedades en EF Core 11: Vector Search, Cosmos DB y migraciones mejoradas","datePublished":"2026-03-25T00:02:15+00:00","mainEntityOfPage":{"@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/"},"wordCount":553,"commentCount":0,"publisher":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"keywords":[".NET","c#","csharp","dotnet","EF Core","EntityFramework","JSON","Linq","migration","ORM","sql server","Vector Search"],"articleSection":["Blog"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/","url":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/","name":"Novedades en EF Core 11: Vector Search, Cosmos DB y migraciones mejoradas &#183; devops Mauro Bernal","isPartOf":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#website"},"datePublished":"2026-03-25T00:02:15+00:00","breadcrumb":{"@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/maurobernal.com.ar\/blog\/novedades-en-ef-core-11-vector-search-cosmos-db-migraciones\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/maurobernal.com.ar\/blog\/"},{"@type":"ListItem","position":2,"name":"Novedades en EF Core 11: Vector Search, Cosmos DB y migraciones mejoradas"}]},{"@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\/1316","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=1316"}],"version-history":[{"count":0,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts\/1316\/revisions"}],"wp:attachment":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/media?parent=1316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/categories?post=1316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/tags?post=1316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}