{"id":17073,"date":"2025-04-24T11:51:03","date_gmt":"2025-04-24T18:51:03","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=17073"},"modified":"2025-04-24T11:51:03","modified_gmt":"2025-04-24T18:51:03","slug":"ef-core-provider-for-couchbase-general-availability","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/ef-core-provider-for-couchbase-general-availability\/","title":{"rendered":"Anuncio de la disponibilidad general de Couchbase EF Core Provider"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">En <\/span><a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-efcore-provider\"><b>Proveedor del n\u00facleo de Couchbase EF<\/b><span style=\"font-weight: 400;\"> es ahora <\/span><b>generalmente disponible<\/b><\/a><span style=\"font-weight: 400;\">. Esta versi\u00f3n lleva la potencia de Entity Framework Core a Couchbase, permitiendo a los desarrolladores .NET trabajar con Couchbase utilizando los patrones familiares de EF Core.<\/span><\/p>\n<h2>\u00bfQu\u00e9 es el proveedor Couchbase EF Core?<\/h2>\n<p><span style=\"font-weight: 400;\">Entity Framework Core (EF Core) es un popular O\/RM que simplifica el acceso a bases de datos para aplicaciones .NET. Permite a los desarrolladores trabajar con datos utilizando objetos C# y consultas LINQ en lugar de escribir consultas de base de datos sin procesar. EF Core permite la integraci\u00f3n con varias bases de datos, proporcionando seguimiento autom\u00e1tico de cambios, transacciones y una API DbContext familiar. Se trata de una interfaz familiar que los desarrolladores pueden utilizar para ahorrar tiempo e integrarse con muchos marcos de trabajo y bibliotecas adyacentes a bases de datos.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En <\/span><b>Proveedor del n\u00facleo de Couchbase EF<\/b><span style=\"font-weight: 400;\"> permite a los desarrolladores utilizar Entity Framework Core con <\/span><b>Servidor Couchbase<\/b><span style=\"font-weight: 400;\"> y <\/span><a href=\"https:\/\/cloud.couchbase.com\/sign-up\"><b>Couchbase Capell<\/b><b>a<\/b><\/a><span style=\"font-weight: 400;\"> (ahora disponible con un nivel gratuito perpetuo). Con este proveedor, puedes trabajar con documentos de Couchbase como si fueran entidades relacionales, usando consultas Linq, DbContext y seguimiento de cambios.<\/span><\/p>\n<h2>Para empezar<\/h2>\n<p><span style=\"font-weight: 400;\">Para instalar Couchbase EF Core Provider, a\u00f1ada el archivo <\/span><a href=\"https:\/\/www.nuget.org\/packages\/Couchbase.EntityFrameworkCore\"><span style=\"font-weight: 400;\">Paquete NuGet<\/span><\/a><span style=\"font-weight: 400;\">:<\/span><\/p>\n<pre class=\"nums:false lang:ps decode:true\"># .NET CLI\r\ndotnet add package Couchbase.EntityFrameworkCore\r\n\r\n# O usando Package Manager\r\nInstalar-Paquete Couchbase.EntityFrameworkCore<\/pre>\n<h3>Ejemplo: uso de EF Core con Couchbase<\/h3>\n<p><span style=\"font-weight: 400;\">A continuaci\u00f3n se muestra un ejemplo sencillo de \"carrito de la compra\" sobre c\u00f3mo configurar y utilizar la funci\u00f3n <\/span><b>Proveedor del n\u00facleo de Couchbase EF<\/b><span style=\"font-weight: 400;\"> con un modelo de carrito de la compra.<\/span><\/p>\n<h4>Defina sus modelos de entidad<\/h4>\n<pre class=\"nums:false wrap:true lang:c# decode:true\">using Couchbase;\r\nusando Couchbase.EntityFrameworkCore;\r\nusando Couchbase.EntityFrameworkCore.Extensions;\r\nusando Microsoft.EntityFrameworkCore;\r\nusing Microsoft.Extensions.Logging;\r\nusing NLog.Extensions.Logging;\r\nusing ILoggerFactory = Microsoft.Extensions.Logging.ILoggerFactory;\r\n\r\nclase p\u00fablica Cart\r\n{\r\n    public string CartId { get; set; }\r\n    public DateTimeOffset Creado { get; set; }\r\n    public List Items { get; set; }\r\n}\r\n\r\npublic class Art\u00edculo\r\n{\r\n    public string ItemId { get; set; }\r\n    public string Nombre { get; set; }\r\n    public uint Cantidad { get; set; }\r\n    public decimal Precio { get; set; }\r\n}<\/pre>\n<h4>Crear un DbContext para Couchbase<\/h4>\n<pre class=\"nums:false wrap:true lang:c# decode:true\">public clase CartContext : DbContext\r\n{\r\n    public DbSet Carros { get; set; }\r\n    public DbSet Items { get; set; }\r\n    private static readonly ILoggerFactory LoggerFactory = Microsoft.Extensions.Logging.LoggerFactory.Create(builder =&gt;\r\n    {\r\n        builder.ClearProviders();\r\n        builder.AddNLog();\r\n    });\r\n    protected override void OnConfiguring(DbContextOptionsBuilder options)\r\n    {\r\n        options.UseCouchbase(new ClusterOptions()\r\n                WithCredentials(\"Administrador\", \"contrase\u00f1a\")\r\n                .WithConnectionString(\"couchbase:\/\/localhost\")\r\n                .WithLogging(LoggerFactory),\r\n            couchbaseDbContextOptions =&gt;\r\n            {\r\n                couchbaseDbContextOptions.Bucket = \"Compras\";\r\n                couchbaseDbContextOptions.Scope = \"Comercio electr\u00f3nico\";\r\n            });\r\n    }\r\n\r\n    protected override void OnModelCreating(ModelBuilder modelBuilder)\r\n    {\r\n        modelBuilder.Entity().ToCouchbaseCollection(this, \"Carts\");\r\n        modelBuilder.Entity().ToCouchbaseCollection(this, \"Items\");\r\n    }\r\n}<\/pre>\n<p><span style=\"font-weight: 400;\">Este arreglo asume que usted ha creado un bucket en Couchbase llamado <em>Compras<\/em>que contiene un \u00e1mbito llamado <em>Comercio electr\u00f3nico<\/em>que contiene colecciones <em>Art\u00edculos<\/em> y <em>Carros<\/em>.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Adem\u00e1s, tenga en cuenta que el registro es opcional, pero es una buena idea activarlo para ayudar a identificar cualquier problema que pueda surgir.<\/span><\/p>\n<h4>Insertar y consultar datos<\/h4>\n<pre class=\"nums:false wrap:true lang:c# decode:true\">await using var db = new CartContext();\r\nvar cart = nuevo Cart\r\n{\r\n    CartId = Guid.NewGuid().ToString(),\r\n    Creado = DateTimeOffset.Now,\r\n    Art\u00edculos = new List\r\n    {\r\n        new Art\u00edculo { ItemId = Guid.NewGuid().ToString(), Nombre = \"Widget\", Precio = 0.99M, Cantidad = 1},\r\n        new Art\u00edculo { ItemId = Guid.NewGuid().ToString(), Nombre = \"Foo\", Precio = 4.99M, Cantidad = 3},\r\n        new Art\u00edculo { ItemId = Guid.NewGuid().ToString(), Nombre = \"Baz\", Precio = 99.19M, Cantidad = 1}\r\n    }\r\n};\r\nawait db.AddAsync(carrito);\r\nawait db.SaveChangesAsync();\r\n\r\nvar items = await db.Items.Where(i =&gt; i.Name == \"Foo\").ToListAsync();\r\nforeach (var i in items)\r\n{\r\n    Console.WriteLine(JsonConvert.SerializeObject(i));\r\n}<\/pre>\n<p><span style=\"font-weight: 400;\">Este es un ejemplo del aspecto que tendr\u00e1n los documentos en Couchbase tras la inserci\u00f3n:<\/span><\/p>\n<pre class=\"nums:false lang:js decode:true\">Key: 080c210a-34eb-45ea-b9b4-e5c6f8afa4d6\r\n{\r\n  \"CartId\": \"080c210a-34eb-45ea-b9b4-e5c6f8afa4d6\",\r\n  \"Creado\": \"2025-03-13T17:16:31.9904224-04:00\"\r\n}\r\nKey acf54397-51c4-4ad7-bf34-d0a42061b662\r\n{\r\n  \"ItemId\": \"acf54397-51c4-4ad7-bf34-d0a42061b662\",\r\n  \"CartId\": \"080c210a-34eb-45ea-b9b4-e5c6f8afa4d6\",\r\n  \"Nombre\": \"Foo\",\r\n  \"Precio\": 4.99,\r\n  \"Cantidad\": 3\r\n}\r\nKey a3f25210-97f2-4c95-ad4b-f241dde0d9c3\r\n{\r\n  \"ItemId\": \"a3f25210-97f2-4c95-ad4b-f241dde0d9c3\",\r\n  \"CartId\": \"080c210a-34eb-45ea-b9b4-e5c6f8afa4d6\",\r\n  \"Name\": \"Widget\",\r\n  \"Precio\": 0.99,\r\n  \"Cantidad\": 1\r\n}\r\n\/\/ ... etc ...<\/pre>\n<h2>\u00bfQu\u00e9 funciona en la versi\u00f3n GA?<\/h2>\n<p><span style=\"font-weight: 400;\">Toda la funcionalidad de EF Core es muy, muy grande. Ser capaz de manejar cada posible sentencia Linq, por ejemplo, es casi imposible, incluso para proveedores maduros de EF Core como SQL Server. Sin embargo, esta versi\u00f3n soporta muchas de las capacidades b\u00e1sicas de EF Core, incluyendo:<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">\u2705 <\/span><b>Compatibilidad con LINQ<\/b><span style=\"font-weight: 400;\"> - Traduce las consultas LINQ a <\/span><b>Couchbase SQL<\/b><span style=\"font-weight: 400;\">.<br \/>\n<\/span><span style=\"font-weight: 400;\">\u2705 <\/span><b>Operaciones CRUD b\u00e1sicas<\/b><span style=\"font-weight: 400;\"> - Las operaciones de inserci\u00f3n, actualizaci\u00f3n y supresi\u00f3n funcionan como es debido.<br \/>\n<\/span><span style=\"font-weight: 400;\">\u2705 <\/span><b>Seguimiento de cambios<\/b><span style=\"font-weight: 400;\"> - Se realiza un seguimiento de las entidades para una actualizaci\u00f3n eficaz.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Tambi\u00e9n tenga en cuenta que el uso de m\u00e9todos Async es <\/span><b>obligatorio<\/b><span style=\"font-weight: 400;\">. El SDK .NET de Couchbase es completamente as\u00edncrono. Si intentas usar un m\u00e9todo no as\u00edncrono, obtendr\u00e1s un error de ejecuci\u00f3n del tipo <code>Couchbase EF Core Database Provider no soporta E\/S s\u00edncrona<\/code>.<\/span><\/p>\n<h2>Limitaciones conocidas<\/h2>\n<p><span style=\"font-weight: 400;\">Aunque se trata de un hito importante, <\/span><b>algunas funciones a\u00fan est\u00e1n en fase de desarrollo<\/b><span style=\"font-weight: 400;\">incluyendo:<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">\u274c <\/span><b>Desnormalizaci\u00f3n<\/b><span style=\"font-weight: 400;\"> - Anidamiento de colecciones dentro de documentos (por ejemplo, almacenar <\/span><span style=\"font-weight: 400;\">Art\u00edculos<\/span><span style=\"font-weight: 400;\"> en <\/span><span style=\"font-weight: 400;\">Carrito <\/span><span style=\"font-weight: 400;\">como un \u00fanico documento JSON) a\u00fan no es compatible.<br \/>\n<\/span><span style=\"font-weight: 400;\">\u274c <\/span><b>Carga ansiosa<\/b><span style=\"font-weight: 400;\"> - <\/span><span style=\"font-weight: 400;\"><code>Incluir()<\/code><\/span><span style=\"font-weight: 400;\"> pueden no funcionar como se espera.<br \/>\n<\/span><span style=\"font-weight: 400;\">\u274c <\/span><b>Soporte de funciones SQL<\/b><span style=\"font-weight: 400;\"> - Algunas funciones SQL++ como <\/span><span style=\"font-weight: 400;\">META<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">RYOW<\/span><span style=\"font-weight: 400;\">etc., no se aplican plenamente.<br \/>\n<\/span><span style=\"font-weight: 400;\">\u274c <\/span><b>Transacciones <\/b><span style=\"font-weight: 400;\">- Esta versi\u00f3n a\u00fan no es compatible.<\/span><\/p>\n<h2>\u00a1\u00danete a la conversaci\u00f3n!<\/h2>\n<p><span style=\"font-weight: 400;\">Queremos tu opini\u00f3n Ayude a dar forma al futuro de la <\/span><b>Proveedor del n\u00facleo de Couchbase EF<\/b><span style=\"font-weight: 400;\">:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Hacer preguntas y compartir experiencias<\/b><span style=\"font-weight: 400;\"> en el<\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/forums\/c\/net-sdk\/6\/\"><span style=\"font-weight: 400;\"> Foros Couchbase .NET<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Chatea con nosotros en Discord<\/b><span style=\"font-weight: 400;\"> -<\/span><a href=\"https:\/\/discord.com\/invite\/K7NPMPGrPk\"><span style=\"font-weight: 400;\"> \u00danete a nuestra comunidad<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Informar de los problemas y contribuir<\/b><span style=\"font-weight: 400;\"> en<\/span><a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-efcore-provider\"><span style=\"font-weight: 400;\"> GitHub<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>\u00bfY ahora qu\u00e9?<\/h2>\n<p><span style=\"font-weight: 400;\">Esta versi\u00f3n es s\u00f3lo el principio. Estamos trabajando activamente en la construcci\u00f3n de esta implementaci\u00f3n EF Core. <\/span><b>Su opini\u00f3n <\/b><span style=\"font-weight: 400;\">ayudar\u00e1 a priorizar la funcionalidad.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pru\u00e9balo hoy mismo y dinos qu\u00e9 te parece. \u00a1Feliz programaci\u00f3n!<\/span><\/p>\n<p><br style=\"font-weight: 400;\" \/><br style=\"font-weight: 400;\" \/><\/p>","protected":false},"excerpt":{"rendered":"<p>The Couchbase EF Core Provider is now generally available. This release brings the power of Entity Framework Core to Couchbase, allowing .NET developers to work with Couchbase using familiar EF Core patterns. What is the Couchbase EF Core provider? Entity [&hellip;]<\/p>","protected":false},"author":71,"featured_media":17074,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,1815,2225,1816,2201],"tags":[10108,1806],"ppma_author":[8937],"class_list":["post-17073","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-best-practices-and-tutorials","category-cloud","category-couchbase-server","category-tools-sdks","tag-ef-core","tag-entity-framework"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Announcing the General Availability of the Couchbase EF Core Provider<\/title>\n<meta name=\"description\" content=\"The Couchbase EF Core Provider is now generally available, bringing seamless integration between Couchbase and Entity Framework Core.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/ef-core-provider-for-couchbase-general-availability\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Announcing the General Availability of the Couchbase EF Core Provider\" \/>\n<meta property=\"og:description\" content=\"The Couchbase EF Core Provider is now generally available, bringing seamless integration between Couchbase and Entity Framework Core.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/ef-core-provider-for-couchbase-general-availability\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-24T18:51:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/04\/blog-ef-core-couchbase.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Announcing the General Availability of the Couchbase EF Core Provider\",\"datePublished\":\"2025-04-24T18:51:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/\"},\"wordCount\":545,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/04\/blog-ef-core-couchbase.png\",\"keywords\":[\"EF Core\",\"Entity Framework\"],\"articleSection\":[\".NET\",\"Best Practices and Tutorials\",\"Couchbase Capella\",\"Couchbase Server\",\"Tools &amp; SDKs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/\",\"name\":\"Announcing the General Availability of the Couchbase EF Core Provider\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/04\/blog-ef-core-couchbase.png\",\"datePublished\":\"2025-04-24T18:51:03+00:00\",\"description\":\"The Couchbase EF Core Provider is now generally available, bringing seamless integration between Couchbase and Entity Framework Core.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/04\/blog-ef-core-couchbase.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/04\/blog-ef-core-couchbase.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing the General Availability of the Couchbase EF Core Provider\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Anuncio de la disponibilidad general de Couchbase EF Core Provider","description":"The Couchbase EF Core Provider is now generally available, bringing seamless integration between Couchbase and Entity Framework Core.","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:\/\/www.couchbase.com\/blog\/es\/ef-core-provider-for-couchbase-general-availability\/","og_locale":"es_MX","og_type":"article","og_title":"Announcing the General Availability of the Couchbase EF Core Provider","og_description":"The Couchbase EF Core Provider is now generally available, bringing seamless integration between Couchbase and Entity Framework Core.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/ef-core-provider-for-couchbase-general-availability\/","og_site_name":"The Couchbase Blog","article_published_time":"2025-04-24T18:51:03+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/04\/blog-ef-core-couchbase.png","type":"image\/png"}],"author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Announcing the General Availability of the Couchbase EF Core Provider","datePublished":"2025-04-24T18:51:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/"},"wordCount":545,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/04\/blog-ef-core-couchbase.png","keywords":["EF Core","Entity Framework"],"articleSection":[".NET","Best Practices and Tutorials","Couchbase Capella","Couchbase Server","Tools &amp; SDKs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/","url":"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/","name":"Anuncio de la disponibilidad general de Couchbase EF Core Provider","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/04\/blog-ef-core-couchbase.png","datePublished":"2025-04-24T18:51:03+00:00","description":"The Couchbase EF Core Provider is now generally available, bringing seamless integration between Couchbase and Entity Framework Core.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/04\/blog-ef-core-couchbase.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/04\/blog-ef-core-couchbase.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/ef-core-provider-for-couchbase-general-availability\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Announcing the General Availability of the Couchbase EF Core Provider"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58","name":"Matthew Groves","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"A Matthew D. Groves le encanta programar. No importa si se trata de C#, jQuery o PHP: enviar\u00e1 pull requests para cualquier cosa. Lleva codificando profesionalmente desde que escribi\u00f3 una aplicaci\u00f3n de punto de venta en QuickBASIC para la pizzer\u00eda de sus padres, all\u00e1 por los a\u00f1os noventa. Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores. Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","first_name":"Matthew","last_name":"Groves","user_url":"https:\/\/crosscuttingconcerns.com","author_category":"","description":"A Matthew D. Groves le encanta programar.  No importa si se trata de C#, jQuery o PHP: enviar\u00e1 pull requests para cualquier cosa.  Lleva codificando profesionalmente desde que escribi\u00f3 una aplicaci\u00f3n de punto de venta en QuickBASIC para la pizzer\u00eda de sus padres, all\u00e1 por los a\u00f1os noventa.  Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores.  Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/17073","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=17073"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/17073\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/17074"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=17073"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=17073"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=17073"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=17073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}