{"id":2027,"date":"2015-11-30T21:34:41","date_gmt":"2015-11-30T21:34:40","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2027"},"modified":"2025-06-13T23:43:41","modified_gmt":"2025-06-14T06:43:41","slug":"couchbase-dotnet-client-sdk-tutorial","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/","title":{"rendered":"Couchbase .NET Client SDK Tutorial"},"content":{"rendered":"<p>If you&apos;re an existing .NET Developer but new to Couchbase, this tutorial is for you!<\/p>\n<p>With this tutorial we aim to help you understand what Couchbase Server is and how to use it from .NET in a step by step guide! The source code is available for each step as well as a detailed description for every task.<\/p>\n<p>The tutorial bridges the gap between simple and advanced Couchbase concepts by walking through a complete web application (build in ASP.NET Web API 2.0) that uses the Couchbase .NET client library to connect to Couchbase Server. We also cover using N1QL and key-value set\/get operations.<\/p>\n<p>After completing the tutorial you will have learned how to:<\/p>\n<ul>\n<li>Install and configure the Couchbase .NET Client<\/li>\n<li>Bootstrap the .NET Client<\/li>\n<li>Use LINQ with N1QL<\/li>\n<li>Use Couchbase in your own projects.<\/li>\n<li>Use recommended practices for working with Couchbase with .NET<\/li>\n<li>Apply basic knowledge of using Couchbase Server from within your .NET applications.<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Application Screen shot\" src=\"https:\/\/raw.githubusercontent.com\/couchbaselabs\/try-cb-dotnet\/master\/content\/images\/Screen%20Shot%202015-11-05%20at%2011.49.06.png\" \/><\/p>\n<h3 id=\"toc_1\">The tutorial and source is on GitHub!<\/h3>\n<p>Blog posts are static and not suited for frequent updates, GitHub is much better for that!<\/p>\n<p>The tutorial is here: <a href=\"https:\/\/github.com\/couchbaselabs\/try-cb-dotnet\/blob\/master\/try-cb-dotnet-tutorial.md\">try-cb-dotnet<\/a>.<\/p>\n<p>The full source code for the tutorial and the tutorial itself is available on GitHub <a href=\"https:\/\/github.com\/couchbaselabs\/try-cb-dotnet\">github.com\/couchbaselabs\/try-cb-dotnet<\/a>.<\/p>\n<p>Feedback is always appreciated!<\/p>\n<p>Happy learning :)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you&apos;re an existing .NET Developer but new to Couchbase, this tutorial is for you! With this tutorial we aim to help you understand what Couchbase Server is and how to use it from .NET in a step by step [&hellip;]<\/p>\n","protected":false},"author":54,"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],"tags":[1272,1500],"ppma_author":[9027],"class_list":["post-2027","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","tag-client","tag-tutorial"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase .NET Client SDK Tutorial - 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\/couchbase-dotnet-client-sdk-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase .NET Client SDK Tutorial\" \/>\n<meta property=\"og:description\" content=\"If you&amp;apos;re an existing .NET Developer but new to Couchbase, this tutorial is for you! With this tutorial we aim to help you understand what Couchbase Server is and how to use it from .NET in a step by step [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-11-30T21:34:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T06:43:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/raw.githubusercontent.com\/couchbaselabs\/try-cb-dotnet\/master\/content\/images\/Screen%20Shot%202015-11-05%20at%2011.49.06.png\" \/>\n<meta name=\"author\" content=\"Martin Esmann, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Martin Esmann, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/\"},\"author\":{\"name\":\"Martin Esmann, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/2795ae2ee44b46479499d6fa514b7ee8\"},\"headline\":\"Couchbase .NET Client SDK Tutorial\",\"datePublished\":\"2015-11-30T21:34:40+00:00\",\"dateModified\":\"2025-06-14T06:43:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/\"},\"wordCount\":218,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"client\",\"tutorial\"],\"articleSection\":[\".NET\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/\",\"name\":\"Couchbase .NET Client SDK Tutorial - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-11-30T21:34:40+00:00\",\"dateModified\":\"2025-06-14T06:43:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#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-dotnet-client-sdk-tutorial\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase .NET Client SDK Tutorial\"}]},{\"@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\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@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\/2795ae2ee44b46479499d6fa514b7ee8\",\"name\":\"Martin Esmann, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/af6bbf8de1ed87c78bfbc9ac7454a4fc\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c8aea3b717146fd35e6b3c299ba8b331987c90cb1996f0141f0c6de29aa04c4b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c8aea3b717146fd35e6b3c299ba8b331987c90cb1996f0141f0c6de29aa04c4b?s=96&d=mm&r=g\",\"caption\":\"Martin Esmann, Developer Advocate, Couchbase\"},\"description\":\"Martin Esmann is a .Net Developer Advocate at Couchbase. He is a passionate developer with a deep focus on Microsoft Technologies like .NET.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/martin-esmann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase .NET Client SDK Tutorial - 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\/couchbase-dotnet-client-sdk-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Couchbase .NET Client SDK Tutorial","og_description":"If you&apos;re an existing .NET Developer but new to Couchbase, this tutorial is for you! With this tutorial we aim to help you understand what Couchbase Server is and how to use it from .NET in a step by step [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-11-30T21:34:40+00:00","article_modified_time":"2025-06-14T06:43:41+00:00","og_image":[{"url":"https:\/\/raw.githubusercontent.com\/couchbaselabs\/try-cb-dotnet\/master\/content\/images\/Screen%20Shot%202015-11-05%20at%2011.49.06.png","type":"","width":"","height":""}],"author":"Martin Esmann, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Martin Esmann, Developer Advocate, Couchbase","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/"},"author":{"name":"Martin Esmann, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/2795ae2ee44b46479499d6fa514b7ee8"},"headline":"Couchbase .NET Client SDK Tutorial","datePublished":"2015-11-30T21:34:40+00:00","dateModified":"2025-06-14T06:43:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/"},"wordCount":218,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["client","tutorial"],"articleSection":[".NET"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/","name":"Couchbase .NET Client SDK Tutorial - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-11-30T21:34:40+00:00","dateModified":"2025-06-14T06:43:41+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-dotnet-client-sdk-tutorial\/#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-dotnet-client-sdk-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase .NET Client SDK Tutorial"}]},{"@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":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@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\/2795ae2ee44b46479499d6fa514b7ee8","name":"Martin Esmann, Developer Advocate, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/af6bbf8de1ed87c78bfbc9ac7454a4fc","url":"https:\/\/secure.gravatar.com\/avatar\/c8aea3b717146fd35e6b3c299ba8b331987c90cb1996f0141f0c6de29aa04c4b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c8aea3b717146fd35e6b3c299ba8b331987c90cb1996f0141f0c6de29aa04c4b?s=96&d=mm&r=g","caption":"Martin Esmann, Developer Advocate, Couchbase"},"description":"Martin Esmann is a .Net Developer Advocate at Couchbase. He is a passionate developer with a deep focus on Microsoft Technologies like .NET.","url":"https:\/\/www.couchbase.com\/blog\/author\/martin-esmann\/"}]}},"authors":[{"term_id":9027,"user_id":54,"is_guest":0,"slug":"martin-esmann","display_name":"Martin Esmann, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/c8aea3b717146fd35e6b3c299ba8b331987c90cb1996f0141f0c6de29aa04c4b?s=96&d=mm&r=g","author_category":"","last_name":"Esmann","first_name":"Martin","job_title":"","user_url":"","description":"Martin Esmann is a .Net Developer Advocate at Couchbase. He is a passionate developer with a deep focus on Microsoft Technologies like .NET."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/54"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=2027"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2027\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=2027"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=2027"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=2027"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=2027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}