{"id":2251,"date":"2016-05-09T15:19:50","date_gmt":"2016-05-09T15:19:50","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2251"},"modified":"2025-10-09T07:09:22","modified_gmt":"2025-10-09T14:09:22","slug":"couchbase-with-windows-and-net-part-2","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-with-windows-and-net-part-2\/","title":{"rendered":"Couchbase com Windows e .NET - Parte 2"},"content":{"rendered":"<h2>Couchbase com Windows e .NET - Parte 2 - Linguajar<\/h2>\n<p><em>Esta postagem do blog \u00e9 a parte 2 de uma s\u00e9rie. <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-with-windows-and-.net---part-1\/\">A Parte 1 abordou como instalar e configurar o Couchbase no Windows<\/a><\/em>.<\/p>\n<p>Em <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-with-windows-and-.net---part-1\/\">Parte 1 - Configura\u00e7\u00e3o<\/a>Na se\u00e7\u00e3o \"Como obter um produto\", mostrei os princ\u00edpios b\u00e1sicos de como obter <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/nosql-databases\/couchbase-server\/?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">Servidor Couchbase<\/a> em funcionamento. Se voc\u00ea for como eu, est\u00e1 ansioso para come\u00e7ar a programar e ver o que pode fazer. Mas, antes disso, quero falar um pouco sobre o jarg\u00e3o do Couchbase. N\u00e3o \u00e9 uma ferramenta dif\u00edcil de usar, mas \u00e9 diferente dos sistemas RDBMS, como o SQL Server, com os quais voc\u00ea provavelmente est\u00e1 acostumado. Portanto, esta s\u00e9rie de postagens no blog \u00e9 tanto para voc\u00ea quanto para mim: Estou aprendendo \u00e0 medida que vou avan\u00e7ando.<\/p>\n<p>Aqui est\u00e1 a vers\u00e3o resumida do ponto de vista de um desenvolvedor: Um Couchbase <strong>agrupamento<\/strong> cont\u00e9m <strong>n\u00f3s<\/strong>. Os n\u00f3s cont\u00eam <strong>baldes<\/strong>. As ca\u00e7ambas cont\u00eam <strong>documentos<\/strong>. Os documentos podem ser recuperados de v\u00e1rias maneiras: por suas chaves, consultados com <strong>N1QL<\/strong>e tamb\u00e9m por meio de visualiza\u00e7\u00f5es (que usam map\/reduce). (Com o Couchbase 4.5, <em>pe\u00e7as<\/em> de documentos podem ser atualizados com o <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5-dp\/sub-doc-api.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\"><strong>subdocumento<\/strong> API<\/a>). Agora vamos examinar cada elemento em mais detalhes.<\/p>\n<p><strong>Aglomerado<\/strong><\/p>\n<p>Para come\u00e7ar, vamos falar sobre um \"<a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/clustersetup\/manage-cluster-intro.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">agrupamento<\/a>.\" Um dos pontos fortes do Couchbase \u00e9 sua capacidade de expans\u00e3o: instalar servidores adicionais para lidar com mais dados de forma eficiente. Isso contrasta com o aumento de escala, que consiste em substituir um servidor por outro mais robusto e r\u00e1pido (o que tamb\u00e9m pode ser feito com o Couchbase). Um cluster \u00e9 uma cole\u00e7\u00e3o de n\u00f3s relacionados que se coordenam entre si e atuam como um servidor l\u00f3gico. Ao usar o Couchbase, voc\u00ea est\u00e1 sempre lidando com um cluster, mesmo que tenha apenas um n\u00f3 nesse cluster. \"Couch\" \u00e9 um acr\u00f4nimo de \"Cluster Of Unreliable Commodity Hardware\".<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-2\/couchbasecluster_001.png\" alt=\"Couchbase cluster\" \/><\/p>\n<p><strong>N\u00f3<\/strong><\/p>\n<p>Um n\u00f3 \u00e9 um componente \u00fanico em um cluster. Geralmente corresponde a um servidor. Ao definir um cluster, voc\u00ea define uma cota de RAM (por cada servi\u00e7o). Essa \u00e9 a quantidade de RAM que cada n\u00f3 do cluster usar\u00e1 para fornecer um determinado servi\u00e7o. Portanto, se a cota de RAM de dados for de 2 gb, cada n\u00f3 do cluster que fornece um servi\u00e7o de dados ter\u00e1 2 gb de RAM para trabalhar. Cada n\u00f3 tamb\u00e9m contribui com espa\u00e7o em disco para o cluster.<\/p>\n<p>Um n\u00f3 fornece um ou mais servi\u00e7os: armazenamento de dados, indexa\u00e7\u00e3o, consulta e pesquisa de texto completo. Voc\u00ea pode configurar seu cluster da maneira que desejar: um n\u00f3 que forne\u00e7a todos os servi\u00e7os at\u00e9 um n\u00f3 para cada tipo de servi\u00e7o e, em seguida, voc\u00ea pode reduzir e\/ou aumentar a escala. (Exemplo: Eu poderia adicionar mais 5 n\u00f3s para armazenamento de dados, mais 1 n\u00f3 para indexa\u00e7\u00e3o e usarei um \u00fanico servidor realmente robusto para consulta).<\/p>\n<p>Os n\u00f3s tamb\u00e9m armazenam dados de r\u00e9plica de outros n\u00f3s. Dessa forma, se outro n\u00f3 ficar inativo, os dados da r\u00e9plica poder\u00e3o ser \"promovidos\" para ativos e o aplicativo poder\u00e1 continuar seu caminho.<\/p>\n<p>Do ponto de vista da escrita do c\u00f3digo, todo esse comportamento deve ser transparente. A configura\u00e7\u00e3o dos n\u00f3s em um cluster pode mudar (e mudar\u00e1), mas o c\u00f3digo n\u00e3o precisa mudar.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-2\/couchbasenode_002c.png\" alt=\"Couchbase nodes in a cluster\" \/><\/p>\n<p><strong>Balde<\/strong><\/p>\n<p>A <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/clustersetup\/bucket-setup.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">balde<\/a> \u00e9 um local para armazenar documentos. Cada documento tem uma chave. Em um bucket, cada chave deve ser exclusiva. Os documentos em um compartimento n\u00e3o precisam ser semelhantes. Voc\u00ea pode armazenar um documento que contenha informa\u00e7\u00f5es sobre um usu\u00e1rio e um documento com informa\u00e7\u00f5es sobre um edif\u00edcio. \u00c9 poss\u00edvel configurar v\u00e1rios compartimentos em um n\u00f3, mas \u00e9 recomend\u00e1vel limitar-se a 10 compartimentos ou menos. Para usar uma analogia com o banco de dados relacional, um bucket \u00e9 mais parecido com uma inst\u00e2ncia ou cat\u00e1logo de banco de dados. N\u00e3o \u00e9 como uma tabela.<\/p>\n<p>O motivo pelo qual o Couchbase \u00e9 t\u00e3o r\u00e1pido \u00e9 que cada bucket armazena muitos de seus documentos na RAM. Quando chega uma solicita\u00e7\u00e3o de um documento, o documento (ou pelo menos os metadados do documento) provavelmente j\u00e1 estar\u00e1 na RAM, pronto para ser usado - sem necessidade de acesso ao disco. Quando um documento novo ou atualizado \u00e9 recebido, ele \u00e9 atualizado na RAM e, em seguida, colocado em uma fila para grav\u00e1-lo no disco e replic\u00e1-lo para outros n\u00f3s. Quando a mem\u00f3ria precisa ser liberada para outros documentos, os metadados permanecem na RAM para recupera\u00e7\u00e3o posterior: somente o valor \u00e9 ejetado (a menos que voc\u00ea <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/clustersetup\/create-bucket.html\">configurar o bucket de outra forma<\/a>).<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-2\/couchbasebucket_003.png\" alt=\"A bucket with two documents in it\" \/><\/p>\n<p><strong>Documento<\/strong><\/p>\n<p>Em um sentido muito b\u00e1sico, um bucket do Couchbase \u00e9 apenas um Dictionary gigante. Voc\u00ea pode usar o que quiser para a chave (desde que seja exclusiva) e pode colocar o que quiser no valor. No entanto, se voc\u00ea decidir armazenar JSON no valor, tamb\u00e9m obter\u00e1 funcionalidades adicionais: estrutura, indexa\u00e7\u00e3o, N1QL, exibi\u00e7\u00f5es etc. Portanto, embora seja poss\u00edvel e suportado o uso de valores n\u00e3o JSON, normalmente a maioria dos valores ser\u00e1 armazenada como JSON. \u00c9 por isso que o Couchbase \u00e9 chamado de \"banco de dados de documentos\". Cada bucket cont\u00e9m <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/developer-guide\/data-access-overview.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">documentos<\/a>que s\u00e3o um valor e metadados associados (como a chave).<\/p>\n<p>Portanto, em ingl\u00eas, faria sentido dizer coisas como:<\/p>\n<ul>\n<li>\"Ei, cluster X do Couchbase, no bucket 'foo', por favor me d\u00ea o valor do documento com a chave 'bar'\"<\/li>\n<li>\"Ei, cluster X do Couchbase, no bucket 'foo', aqui est\u00e1 um novo documento com o valor 'baz', que tem uma chave de 'qux'<\/li>\n<li>\"Ei, cluster X do Couchbase, no bucket 'foo', por favor, altere o valor do documento com a chave 'corge' para ter um valor de 'grault'<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-2\/couchbasedocument_004.png\" alt=\"A JSON document\" \/><\/p>\n<p><strong>N1QL<\/strong><\/p>\n<p>O Couchbase reconhece que os bancos de dados relacionais t\u00eam sido uma grande parte da carreira de muitos desenvolvedores. Muitos desenvolvedores se sentem \u00e0 vontade para escrever SQL. No entanto, os bancos de dados de documentos n\u00e3o funcionam da mesma forma que os bancos de dados relacionais, portanto, muitas vezes eles precisam aprender uma maneira totalmente nova de fazer as coisas. No entanto, com o Couchbase Server, se voc\u00ea estiver usando documentos JSON, poder\u00e1 escrever consultas em uma linguagem chamada <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/developer-guide\/querying.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">N1QL<\/a> (N1QL significa \"Non-first Normal Form Query Language\" e se pronuncia \"nickel\"). N1QL \u00e9 um superconjunto de SQL. Isso significa que, basicamente, se voc\u00ea conhece SQL, ent\u00e3o conhece N1QL. H\u00e1 algumas diferen\u00e7as e algumas palavras-chave extras, mas aqui est\u00e1 um exemplo para mostrar como elas s\u00e3o semelhantes:<\/p>\n<pre><code>SELECT name, author\r\nFROM `books-bucket`\r\nWHERE YEAR(published) &gt;= 1998\r\n<\/code><\/pre>\n<p>Isso retornar\u00e1 algo como:<\/p>\n<pre><code>{\r\n    \"results\": [\r\n        { \"name\" : \"The Little Book of Calm\", \"author\" : \"Manny Bianco\" },\r\n        { \"name\" : \"AOP in .NET\", \"author\" : \"Matthew D. Groves\" }\r\n    ]\r\n}\r\n<\/code><\/pre>\n<p>Como mostrarei em posts posteriores do blog, o <a href=\"https:\/\/github.com\/couchbaselabs\/Linq2Couchbase\">Linq2Couchbase<\/a> A biblioteca aproveita o N1QL para oferecer um provedor Linq que ser\u00e1 muito semelhante ao Entity Framework, NHibernate.Linq ou outros provedores Linq com os quais voc\u00ea est\u00e1 acostumado.<\/p>\n<p><strong>\u00cdndices<\/strong><\/p>\n<p><a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/indexes\/n1ql-in-couchbase.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">\u00cdndices<\/a> no Couchbase s\u00e3o t\u00e3o importantes quanto nos bancos de dados relacionais. Provavelmente mais, devido ao volume de dados que o Couchbase pode manipular \u00e0 medida que se expande.<\/p>\n<p>Para habilitar as consultas N1QL em um bucket, voc\u00ea precisa, no m\u00ednimo, criar um \u00edndice prim\u00e1rio. Esse \u00e9 um \u00edndice no pr\u00f3prio bucket. Veja como criar um com o N1QL: <code>CREATE PRIMARY INDEX ON `my-bucket`;<\/code><\/p>\n<p>Se estiver usando documentos JSON, voc\u00ea poder\u00e1 criar \u00edndices com base nos campos dos documentos JSON. Por exemplo, se voc\u00ea tiver muitos documentos com \"nome\" ou \"autor\" e fizer consultas com frequ\u00eancia com base nesses campos, poder\u00e1 criar \u00edndices para eles. Esses \u00edndices s\u00e3o chamados de \"\u00edndices secund\u00e1rios\".<\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>Estou t\u00e3o ansioso quanto voc\u00ea para mergulhar no c\u00f3digo, mas \u00e9 bom aprender esse jarg\u00e3o primeiro. Tentei me concentrar nos conceitos mais importantes em detrimento de alguns detalhes. Portanto, se voc\u00ea tiver d\u00favidas, deixe um coment\u00e1rio abaixo, <a href=\"https:\/\/twitter.com\/mgroves\">Entre em contato comigo no Twitter<\/a>ou envie-me um e-mail para matthew.groves AT couchbase DOT com. Gostaria muito de ouvir sua opini\u00e3o.<\/p>","protected":false},"excerpt":{"rendered":"<p>Couchbase with Windows and .NET &#8211; Part 2 &#8211; Lingo This blog post is part 2 of a series. Part 1 covered how to install and setup Couchbase on Windows. In part 1 &#8211; Setup, I showed the very basics [&hellip;]<\/p>","protected":false},"author":71,"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,1816,1812],"tags":[1468,1469],"ppma_author":[8937],"class_list":["post-2251","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-couchbase-server","category-n1ql-query","tag-linq","tag-linq2couchbase"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase with Windows and .NET - Part 2 - The Couchbase Blog<\/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:\/\/www.couchbase.com\/blog\/pt\/couchbase-with-windows-and-net-part-2\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase with Windows and .NET - Part 2\" \/>\n<meta property=\"og:description\" content=\"Couchbase with Windows and .NET &#8211; Part 2 &#8211; Lingo This blog post is part 2 of a series. Part 1 covered how to install and setup Couchbase on Windows. In part 1 &#8211; Setup, I showed the very basics [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-with-windows-and-net-part-2\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-09T15:19:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:09:22+00:00\" \/>\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=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Couchbase with Windows and .NET &#8211; Part 2\",\"datePublished\":\"2016-05-09T15:19:50+00:00\",\"dateModified\":\"2025-10-09T14:09:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/\"},\"wordCount\":1267,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"Linq\",\"linq2couchbase\"],\"articleSection\":[\".NET\",\"Couchbase Server\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/\",\"name\":\"Couchbase with Windows and .NET - Part 2 - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-05-09T15:19:50+00:00\",\"dateModified\":\"2025-10-09T14:09:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#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\/couchbase-with-windows-and-net-part-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase with Windows and .NET &#8211; Part 2\"}]},{\"@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\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\",\"@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\/pt\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase with Windows and .NET - Part 2 - The Couchbase Blog","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\/pt\/couchbase-with-windows-and-net-part-2\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase with Windows and .NET - Part 2","og_description":"Couchbase with Windows and .NET &#8211; Part 2 &#8211; Lingo This blog post is part 2 of a series. Part 1 covered how to install and setup Couchbase on Windows. In part 1 &#8211; Setup, I showed the very basics [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-with-windows-and-net-part-2\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-05-09T15:19:50+00:00","article_modified_time":"2025-10-09T14:09:22+00:00","author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Couchbase with Windows and .NET &#8211; Part 2","datePublished":"2016-05-09T15:19:50+00:00","dateModified":"2025-10-09T14:09:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/"},"wordCount":1267,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["Linq","linq2couchbase"],"articleSection":[".NET","Couchbase Server","SQL++ \/ N1QL Query"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/","name":"Couchbase with Windows and .NET - Part 2 - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-05-09T15:19:50+00:00","dateModified":"2025-10-09T14:09:22+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-2\/#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\/couchbase-with-windows-and-net-part-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase with Windows and .NET &#8211; Part 2"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados 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":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@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":"pt-BR","@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 \u00e9 um cara que adora programar. N\u00e3o importa se \u00e9 C#, jQuery ou PHP: ele enviar\u00e1 solicita\u00e7\u00f5es de pull para qualquer coisa. Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90. Atualmente, ele trabalha como gerente s\u00eanior de marketing de produtos da Couchbase. Seu tempo livre \u00e9 passado com a fam\u00edlia, assistindo aos Reds e participando da comunidade de desenvolvedores. Ele \u00e9 autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/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","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"Matthew D. Groves \u00e9 um cara que adora programar.  N\u00e3o importa se \u00e9 C#, jQuery ou PHP: ele enviar\u00e1 solicita\u00e7\u00f5es de pull para qualquer coisa.  Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90.  Atualmente, ele trabalha como gerente s\u00eanior de marketing de produtos da Couchbase. Seu tempo livre \u00e9 passado com a fam\u00edlia, assistindo aos Reds e participando da comunidade de desenvolvedores.  Ele \u00e9 autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2251"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2251\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2251"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}