{"id":1963,"date":"2015-12-17T00:21:33","date_gmt":"2015-12-17T00:21:32","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1963"},"modified":"2025-06-13T21:02:08","modified_gmt":"2025-06-14T04:02:08","slug":"introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/","title":{"rendered":"Presentamos Linq2Couchbase Developer Preview 1: \u00a1El proveedor Linq para Couchbase N1QL!"},"content":{"rendered":"<address><strong>*El c\u00f3digo de ejemplo de esta entrada est\u00e1 disponible en la secci\u00f3n <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-net-examples\" target=\"_blank\" rel=\"noopener\">couchbase-net-examples<\/a> proyecto <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-net-examples\/tree\/master\/Src\/Couchbase.Linq2CouchbaseExample\" target=\"_blank\" rel=\"noopener\">aqu\u00ed<\/a>.<\/strong><\/address>\n<p>Estoy muy emocionado de anunciar la versi\u00f3n preliminar para desarrolladores #1 del proveedor oficial de Linq para Couchbase N1QL. Se trata de un pre-lanzamiento muy temprano para introducir el proveedor, previsualizar su funcionalidad b\u00e1sica e ilustrar c\u00f3mo usarlo. En este blog, voy a crear una aplicaci\u00f3n de ejemplo que repasa los pasos sobre c\u00f3mo utilizar el proveedor hoy.<\/p>\n<h2>Descargo de responsabilidad<\/h2>\n<p>Siendo un pre-lanzamiento espera que la API p\u00fablica cambie significativamente hasta que la beta est\u00e9 disponible. Ten en cuenta que el proyecto Couchbase.Linq depende de la versi\u00f3n GA del SDK. \u00a1No utilices este proveedor en producci\u00f3n hasta la versi\u00f3n GA del SDK 2.2.0!<\/p>\n<h2>Obtener el paquete<\/h2>\n<p>El paquete es una versi\u00f3n preliminar en NuGet y puede encontrarse en <a href=\"https:\/\/www.nuget.org\/packages\/Linq2Couchbase\/1.0.0-dp1\" target=\"_blank\" rel=\"noopener\">aqu\u00ed<\/a>. Si utiliza Visual Studio, es probable que desee utilizar el gestor de paquetes NuGet o la consola del gestor de paquetes NuGet para incluir las dependencias en el proyecto.<\/p>\n<p>Primero, crea una aplicaci\u00f3n de consola usando Visual Studio. Luego, usando el Gestor de Paquetes, busca Couchbase.Linq:<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2015\/august\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/linq-provider-nuget.jpg\" \/><\/p>\n<p>Aseg\u00farate de seleccionar \"Include Prerelease\" cuando busques, de lo contrario el paquete no aparecer\u00e1 en los resultados de la b\u00fasqueda. Haga clic en \"Instalar\" y se instalar\u00e1n todas las dependencias. Por \u00faltimo, cierra el cuadro de di\u00e1logo del Gestor de paquetes.<\/p>\n<h2>Configuraci\u00f3n e inicializaci\u00f3n<\/h2>\n<p>El actual proveedor de Couchbase Linq tiene una fuerte dependencia de la clase ClusterHelper de Couchbase .NET 2.1 SDK. El ClusterHelper es una clase que facilita la gesti\u00f3n de buckets y otros recursos que por razones de rendimiento deben ser de larga duraci\u00f3n. Es un singleton para un objeto Cluster y un \"multiton\" para referencias Bucket. Es probable que esta dependencia se elimine en futuras versiones, pero debe tenerse en cuenta cuando se utilice el proveedor Linq en la aplicaci\u00f3n.<\/p>\n<p>Para manejar esta dependencia, simplemente tienes que usar el ClusterHelper en tu aplicaci\u00f3n y llamar expl\u00edcitamente a Initialize() exactamente una vez dentro del tiempo de vida de tu aplicaci\u00f3n. Por defecto se utilizar\u00e1 localhost para arrancar el cliente, pero puede utilizar la sobrecarga que toma un ClientConfiguration que se puede personalizar a su gusto.<\/p>\n<p><script src=\"https:\/\/gist.github.com\/jeffrymorris\/f2d3c147e32d4a554d96.js\"><\/script><\/p>\n<p>En el gist anterior, creamos una nueva configuraci\u00f3n y especificamos una instancia de Couchbase Server instalada localmente como destino de arranque. A continuaci\u00f3n, inicializamos el objeto helper del cl\u00faster llamando a Initialize y pasando la configuraci\u00f3n.<\/p>\n<h2>Creaci\u00f3n de una instancia DbContext<\/h2>\n<p>Una vez que hayas inicializado el ClusterHelper, crear\u00e1s un objeto DbContext que es una abstracci\u00f3n sobre el almac\u00e9n de datos subyacente (el Bucket de Couchbase) y proporciona un medio para construir consultas y (pronto) agrupar cambios que ser\u00e1n enviados de vuelta al bucket.<\/p>\n<p><script src=\"https:\/\/gist.github.com\/jeffrymorris\/929cfb8aa5403aa29cc9.js\"><\/script><\/p>\n<p>El constructor DbContext toma un objeto Cluster y el nombre del bucket de Couchbase a utilizar en la consulta.<\/p>\n<p>Tenga en cuenta que una vez creado DbContext, se puede utilizar una y otra vez y puede realizar JOINs contra s\u00ed mismo tambi\u00e9n. En un post posterior, mostrar\u00e9 c\u00f3mo heredar de DbContext para crear objetos de consulta concretos que se asignen a los documentos dentro de tu bucket; eventualmente proporcionaremos soporte de herramientas para generar estos objetos autom\u00e1ticamente desde un bucket.<\/p>\n<h2>Creaci\u00f3n de una consulta Linq<\/h2>\n<p>Crear una consulta Linq no es diferente de usar cualquier otro proveedor Linq en su mayor parte; las diferencias son que Linq2Couchbase soporta palabras clave N1QL y conceptos como NEST, UNNEST y USE KEYS, entre otros.<\/p>\n<p><script src=\"https:\/\/gist.github.com\/jeffrymorris\/a8bd8ff9f1a8681a88d1.js\"><\/script><\/p>\n<p>Como todas las consultas Linq, la ejecuci\u00f3n se aplaza hasta que se enumera sobre ella:<\/p>\n<p><script src=\"https:\/\/gist.github.com\/jeffrymorris\/dad64ad4e1d12e13b9f4.js\"><\/script><\/p>\n<p>Aqu\u00ed simplemente estamos enumerando la consulta que creamos en el paso anterior. El proveedor tomar\u00e1 la expresi\u00f3n que ha sido generada y la convertir\u00e1 en una consulta N1QL y la ejecutar\u00e1 devolviendo s\u00f3lo la porci\u00f3n de filas de la respuesta. N\u00f3tese que las excepciones ser\u00e1n lanzadas por el proveedor Linq, lo cual es un comportamiento diferente al del SDK de Couchbase, que devuelve la excepci\u00f3n como una propiedad de la implementaci\u00f3n IQueryResult.<\/p>\n<h2>\u00bfY la cl\u00e1usula WHERE?<\/h2>\n<p>\u00bfSe ha dado cuenta de que no especificamos una cl\u00e1usula WHERE para filtrar por tipo de documento? Dado que los buckets son un keypace de documentos heterog\u00e9neos, sin un predicado para filtrar los resultados la consulta generada devolver\u00eda cada atributo Name de cada documento dentro del bucket (observe que el bucket de la muestra de cerveza tiene tipos de documento de cerveza y cervecer\u00eda). Dado que queremos permanecer DRY y a\u00f1adir un WHERE type=\"[document-type]\" para cada consulta ser\u00eda tedioso, hay una manera de especificar el filtro de documento como un atributo a la POCO que estamos utilizando para nuestra proyecci\u00f3n.<\/p>\n<p><script src=\"https:\/\/gist.github.com\/jeffrymorris\/ce310c96d56ce1c6f8ab.js\"><\/script><\/p>\n<p>Aqu\u00ed, en la definici\u00f3n de POCO, hemos a\u00f1adido un EntityTypeFilter y especificado \"beer\" como el tipo de documento al que debemos dirigir nuestra consulta. \u00a1Genial!<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Instala el paquete y pru\u00e9balo. H\u00e1ganos saber lo que piensa y si usted encuentra alg\u00fan error o tiene una solicitud de funci\u00f3n, crear un <a href=\"https:\/\/issues.couchbase.com\/browse\/linq\" target=\"_blank\" rel=\"noopener\">Jira ticket<\/a> o env\u00ede un <a href=\"https:\/\/github.com\/couchbaselabs\/Linq2Couchbase\" target=\"_blank\" rel=\"noopener\">pull request<\/a>!<\/p>","protected":false},"excerpt":{"rendered":"<p>*Sample code for this post is available in the couchbase-net-examples project here. I am very excited to announce developer preview #1 of the official Linq provider for Couchbase N1QL! This is a very early pre-release to introduce the provider, preview [&hellip;]<\/p>","protected":false},"author":21,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,1814,10127,1812,2201],"tags":[1468,1469],"ppma_author":[8970],"class_list":["post-1963","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-application-design","category-c-sharp","category-n1ql-query","category-tools-sdks","tag-linq","tag-linq2couchbase"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Developer Preview 1 : The Linq provider for Couchbase N1QL!<\/title>\n<meta name=\"description\" content=\"Learn basic functionality of the Linq provider by checking out sample application that goes over the steps on how to use the provider today.\" \/>\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\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing Linq2Couchbase Developer Preview 1: The Linq provider for Couchbase N1QL!\" \/>\n<meta property=\"og:description\" content=\"Learn basic functionality of the Linq provider by checking out sample application that goes over the steps on how to use the provider today.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-12-17T00:21:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T04:02:08+00:00\" \/>\n<meta name=\"author\" content=\"Jeff Morris, Senior Software Engineer, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jeffrysmorris\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff Morris, Senior Software Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\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:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/\"},\"author\":{\"name\":\"Jeff Morris, Senior Software Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341\"},\"headline\":\"Introducing Linq2Couchbase Developer Preview 1: The Linq provider for Couchbase N1QL!\",\"datePublished\":\"2015-12-17T00:21:32+00:00\",\"dateModified\":\"2025-06-14T04:02:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/\"},\"wordCount\":806,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"Linq\",\"linq2couchbase\"],\"articleSection\":[\".NET\",\"Application Design\",\"C#\",\"SQL++ \/ N1QL Query\",\"Tools &amp; SDKs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/\",\"name\":\"Developer Preview 1 : The Linq provider for Couchbase N1QL!\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-12-17T00:21:32+00:00\",\"dateModified\":\"2025-06-14T04:02:08+00:00\",\"description\":\"Learn basic functionality of the Linq provider by checking out sample application that goes over the steps on how to use the provider today.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing Linq2Couchbase Developer Preview 1: The Linq provider for Couchbase N1QL!\"}]},{\"@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\/b678bdd9f7b21a33d43ea965865a3341\",\"name\":\"Jeff Morris, Senior Software Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/73188ee2831025d81740e12e1ed80812\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g\",\"caption\":\"Jeff Morris, Senior Software Engineer, Couchbase\"},\"description\":\"Jeff Morris is a Senior Software Engineer at Couchbase. Prior to joining Couchbase, Jeff spent six years at Source Interlink as an Enterprise Web Architect. Jeff is responsible for the development of Couchbase SDKs and how to integrate with N1QL (query language).\",\"sameAs\":[\"https:\/\/x.com\/jeffrysmorris\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/jeff-morris\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Developer Preview 1 : The Linq provider for Couchbase N1QL!","description":"Aprenda la funcionalidad b\u00e1sica del proveedor Linq consultando la aplicaci\u00f3n de ejemplo que repasa los pasos para utilizar el proveedor en la actualidad.","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\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/","og_locale":"es_MX","og_type":"article","og_title":"Introducing Linq2Couchbase Developer Preview 1: The Linq provider for Couchbase N1QL!","og_description":"Learn basic functionality of the Linq provider by checking out sample application that goes over the steps on how to use the provider today.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-12-17T00:21:32+00:00","article_modified_time":"2025-06-14T04:02:08+00:00","author":"Jeff Morris, Senior Software Engineer, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@jeffrysmorris","twitter_misc":{"Written by":"Jeff Morris, Senior Software Engineer, Couchbase","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/"},"author":{"name":"Jeff Morris, Senior Software Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341"},"headline":"Introducing Linq2Couchbase Developer Preview 1: The Linq provider for Couchbase N1QL!","datePublished":"2015-12-17T00:21:32+00:00","dateModified":"2025-06-14T04:02:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/"},"wordCount":806,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["Linq","linq2couchbase"],"articleSection":[".NET","Application Design","C#","SQL++ \/ N1QL Query","Tools &amp; SDKs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/","url":"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/","name":"Developer Preview 1 : The Linq provider for Couchbase N1QL!","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-12-17T00:21:32+00:00","dateModified":"2025-06-14T04:02:08+00:00","description":"Aprenda la funcionalidad b\u00e1sica del proveedor Linq consultando la aplicaci\u00f3n de ejemplo que repasa los pasos para utilizar el proveedor en la actualidad.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/introducing-linq2couchbase-developer-preview-1-the-linq-provider-for-couchbase-n1ql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing Linq2Couchbase Developer Preview 1: The Linq provider for Couchbase N1QL!"}]},{"@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\/b678bdd9f7b21a33d43ea965865a3341","name":"Jeff Morris, Ingeniero Superior de Software, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/73188ee2831025d81740e12e1ed80812","url":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","caption":"Jeff Morris, Senior Software Engineer, Couchbase"},"description":"Jeff Morris es Ingeniero de Software Senior en Couchbase. Antes de unirse a Couchbase, Jeff pas\u00f3 seis a\u00f1os en Source Interlink como Arquitecto Web Empresarial. Jeff es responsable del desarrollo de los SDK de Couchbase y de c\u00f3mo integrarse con N1QL (lenguaje de consulta).","sameAs":["https:\/\/x.com\/jeffrysmorris"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/jeff-morris\/"}]}},"authors":[{"term_id":8970,"user_id":21,"is_guest":0,"slug":"jeff-morris","display_name":"Jeff Morris, Senior Software Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","author_category":"","last_name":"Jeff Morris, Senior Software Engineer, Couchbase","first_name":"Jeff","job_title":"","user_url":"","description":"Jeff Morris es Ingeniero de Software Senior en Couchbase. Antes de unirse a Couchbase, Jeff pas\u00f3 seis a\u00f1os en Source Interlink como Arquitecto Web Empresarial. Jeff es responsable del desarrollo de los SDK de Couchbase y de c\u00f3mo integrarse con N1QL (lenguaje de consulta)."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/1963","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\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=1963"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/1963\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=1963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=1963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=1963"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=1963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}