{"id":84999,"date":"2023-04-07T08:00:55","date_gmt":"2023-04-07T06:00:55","guid":{"rendered":"https:\/\/code-maze.com\/?p=84999"},"modified":"2023-04-07T08:13:58","modified_gmt":"2023-04-07T06:13:58","slug":"dotnet-handling-commandtimeout-with-dapper","status":"publish","type":"post","link":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/","title":{"rendered":"Handling CommandTimeout With Dapper in .NET"},"content":{"rendered":"<p>In this article, we are going to learn how to handle CommandTimeout with Dapper in .NET.<\/p>\n<div style=\"padding: 20px; border-left: 5px #dc2323 solid; display: block; margin-bottom: 20px; box-shadow: 1px 1px 5px 0px lightgrey;\">To download the source code for this article, you can visit our <a href=\"https:\/\/github.com\/CodeMazeBlog\/CodeMazeGuides\/tree\/main\/dotnet-dapper\/HandlingCommandTimeoutWithDapper\" target=\"_blank\" rel=\"nofollow noopener\">GitHub repository<\/a>.<\/div>\n<p>So, let\u2019s start.<\/p>\n<h2 id=\"about-dapper\">About Dapper<\/h2>\n<p>Dapper is a popular ORM tool for .NET applications that maps SQL query result to C# objects. When queries take longer to execute than expected, a Timeout value is essential to prevent performance issues. Dapper provides options for handling <code>CommandTimeout<\/code>, the maximum time in seconds a command can execute before timing out.<\/p>\n<h2>Prerequisites<\/h2>\n<p>To use <a href=\"https:\/\/code-maze.com\/using-dapper-with-asp-net-core-web-api\/\" target=\"_blank\" rel=\"noopener\">Dapper<\/a>, we must include the Dapper and SQL client package in our project:<\/p>\n<ul>\n<li>Dapper \u2013 PM&gt;<code> Install-Package Dapper<\/code><\/li>\n<li>SQL Client \u2013 PM&gt; <code>Install-Package Microsoft.Data.SqlClient<\/code><\/li>\n<\/ul>\n<p>As Dapper does not support migrations, we need to incorporate additional tools to accomplish this task. In this article, we will be using <code>FluentMigrator<\/code> to create and manage our database migrations.<\/p>\n<ul>\n<li>FluentMigrator &#8211; PM&gt; <code>Install-Package FluentMigrator.Runner<\/code><\/li>\n<\/ul>\n<p>If you want to learn how to use the <code>FluentMigrator<\/code> library to create data migrations with <code>Dapper<\/code> and ASP.NET Core you can read our <a href=\"https:\/\/code-maze.com\/dapper-migrations-fluentmigrator-aspnetcore\/\" target=\"_blank\" rel=\"noopener\">article<\/a> on that topic.<\/p>\n<h3>Entities<\/h3>\n<p>After the installation, we are going to create a <code>Company<\/code> entity in the <code>Model<\/code> folder:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">public class Company \r\n{ \r\n    public Guid Id { get; set; } \r\n    public string Name { get; set; } \r\n    public string Address { get; set; } \r\n    public string Country { get; set; } \r\n}<\/pre>\n<p>And the <code>Employee<\/code> entity in the same folder:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">public class Employee \r\n{ \r\n    public Guid Id { get; set; } \r\n    public string Name { get; set; } \r\n    public int Age { get; set; } \r\n    public string Position { get; set; } \r\n    public Guid CompanyId { get; set; }\r\n}<\/pre>\n<p>Here are some ways to configure <code>CommandTimeout<\/code> in Dapper:<\/p>\n<h2>Setting CommandTimeout in Connection String<\/h2>\n<p>When working with a database in a .NET Core application, the first step is to define a connection string in the <code>appsettings.json<\/code> file. We use this file to store configuration settings for the application, including database connection information. The connection string typically includes parameters such as the server name, database name, user ID, and password:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\">{\r\n    \"ConnectionStrings\": {\r\n        \"SqlConnectionWithTimeout\": \"server=your_server; Integrated Security=false; database=DapperASPNetCore; \r\n         User Id=your_user;Password=your_password;Application Name=DapperASPNetCore; TrustServerCertificate=True; \r\n         Connection Timeout=5;\"\r\n    }\r\n}<\/pre>\n<p>The <code>Connection Timeout<\/code> specifies the wait time in seconds before the database connection throws an error due to the lack of response. In this case, we have set it to 5 seconds.<\/p>\n<h2>Setting CommandTimeout for All Queries<\/h2>\n<p>In Dapper, the <code>SqlMapper<\/code> class provides a variety of settings that can be configured to control various aspects of how Dapper operates. One of these settings is the <code>CommandTimeout<\/code> property, which specifies the amount of time that Dapper should wait for a SQL command to complete before timing out.<\/p>\n<p>For example, if we want to set a command timeout of 50 seconds for a specific query:<\/p>\n<p><code class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">SqlMapper.Settings.CommandTimeout = 50;<\/code><\/p>\n<p>This will cause <code>Dapper<\/code> to wait for up to 50 seconds for the SQL command to complete before timing out and throwing an exception. Note that this setting applies to all subsequent queries that use <code>Dapper<\/code> until it is changed again. So we should be sure to set it back to the default value if we only need a custom timeout for a specific query or operation.<\/p>\n<p><strong>Note that when setting the timeout value using<\/strong> <code>SqlMapper.Settings.CommandTimeout<\/code>,<strong> it will override any timeout value specified in the appsettings connection string(s).<\/strong> Keep this in mind when setting custom timeouts for specific queries or operations using Dapper.<\/p>\n<h2>Setting CommandTimeout in Query Methods<\/h2>\n<p>The <code>Query<\/code> methods allow executing SQL queries in a single command. For this example, we are going to use the <code>QueryMultipleAsync<\/code> method, but the same applies to other <code>Query<\/code> methods as well. To set the <code>CommandTimeout<\/code> for this method, we can pass it as a parameter when calling the method:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">public async Task&lt;IEnumerable&lt;Company&gt;&gt; GetCompaniesWithTimeoutInInQueryMultiple()\r\n{\r\n    string query = @\"SELECT * FROM Company\";\r\n\r\n    using var connection = _context.CreateConnectionWithoutTimeout();\r\n    var multipleResult = await connection.QueryMultipleAsync(query, commandTimeout: TimeoutInSeconds);\r\n    var companies = await multipleResult.ReadAsync&lt;Company&gt;();\r\n\r\n    return companies;\r\n}<\/pre>\n<p>This method fetches a list of companies from the database using a connection without a timeout. It then sets a timeout\u00a0 <code>TimeoutInSeconds<\/code> on the connection and executes the query using the <code>QueryMultipleAsync<\/code> method. The <code>commandTimeout<\/code> parameter of the <code>QueryMultipleAsync<\/code> method ensures that the query is aborted if it takes longer than the specified timeout value. The results are mapped to the <code>Company<\/code> class and returned as a list of companies.<\/p>\n<h2>Conclusion<\/h2>\n<p>Handling CommandTimeout exceptions is an important consideration when working with databases, particularly when dealing with large amounts of data. Dapper provides several ways to handle these exceptions, including setting the timeout value on individual queries and intercepting command executions to set the timeout value. By using these techniques, you can ensure that your code runs smoothly and efficiently, even when working with large amounts of data.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, we are going to learn how to handle CommandTimeout with Dapper in .NET. So, let\u2019s start. About Dapper Dapper is a popular ORM tool for .NET applications that maps SQL query result to C# objects. When queries take longer to execute than expected, a Timeout value is essential to prevent performance issues. [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":62191,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1647],"tags":[10,22,1720,1682,889],"class_list":["post-84999","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dapper","tag-net","tag-net-core","tag-commandtimeout","tag-connection-string","tag-dapper","et-has-post-format-content","et_post_format-et-post-format-standard"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Handling CommandTimeout With Dapper in .NET - Code Maze<\/title>\n<meta name=\"description\" content=\"In this article, we are going to learn how to handle and leverage the CommandTimeout property with Dapper in .NET.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Handling CommandTimeout With Dapper in .NET - Code Maze\" \/>\n<meta property=\"og:description\" content=\"In this article, we are going to learn how to handle and leverage the CommandTimeout property with Dapper in .NET.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/\" \/>\n<meta property=\"og:site_name\" content=\"Code Maze\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-07T06:00:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-07T06:13:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-dotnet-core.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1100\" \/>\n\t<meta property=\"og:image:height\" content=\"620\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Code Maze\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/CodeMazeBlog\" \/>\n<meta name=\"twitter:site\" content=\"@CodeMazeBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Code Maze\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/\"},\"author\":{\"name\":\"Code Maze\",\"@id\":\"https:\/\/code-maze.com\/#\/schema\/person\/09d29b223012c8e94a68ba62861d0b04\"},\"headline\":\"Handling CommandTimeout With Dapper in .NET\",\"datePublished\":\"2023-04-07T06:00:55+00:00\",\"dateModified\":\"2023-04-07T06:13:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/\"},\"wordCount\":645,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/code-maze.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-dotnet-core.png\",\"keywords\":[\".NET\",\".NET CORE\",\"CommandTimeout\",\"Connection String\",\"Dapper\"],\"articleSection\":[\"Dapper\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/\",\"url\":\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/\",\"name\":\"Handling CommandTimeout With Dapper in .NET - Code Maze\",\"isPartOf\":{\"@id\":\"https:\/\/code-maze.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-dotnet-core.png\",\"datePublished\":\"2023-04-07T06:00:55+00:00\",\"dateModified\":\"2023-04-07T06:13:58+00:00\",\"description\":\"In this article, we are going to learn how to handle and leverage the CommandTimeout property with Dapper in .NET.\",\"breadcrumb\":{\"@id\":\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#primaryimage\",\"url\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-dotnet-core.png\",\"contentUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-dotnet-core.png\",\"width\":1100,\"height\":620,\"caption\":\".NET (Core)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/code-maze.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Handling CommandTimeout With Dapper in .NET\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/code-maze.com\/#website\",\"url\":\"https:\/\/code-maze.com\/\",\"name\":\"Code Maze\",\"description\":\"Learn. Code. Succeed.\",\"publisher\":{\"@id\":\"https:\/\/code-maze.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/code-maze.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/code-maze.com\/#organization\",\"name\":\"Code Maze\",\"url\":\"https:\/\/code-maze.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/code-maze.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez.png\",\"contentUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez.png\",\"width\":3511,\"height\":3510,\"caption\":\"Code Maze\"},\"image\":{\"@id\":\"https:\/\/code-maze.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/CodeMazeBlog\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/code-maze.com\/#\/schema\/person\/09d29b223012c8e94a68ba62861d0b04\",\"name\":\"Code Maze\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/code-maze.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez-150x150.png\",\"contentUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez-150x150.png\",\"caption\":\"Code Maze\"},\"description\":\"This is the standard author on the site. Most articles are published by individual authors, with their profiles, but when several authors have contributed, we publish collectively as a part of this profile.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/codemaze\/\",\"https:\/\/x.com\/https:\/\/twitter.com\/CodeMazeBlog\"],\"url\":\"https:\/\/code-maze.com\/author\/codemazecontributor\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Handling CommandTimeout With Dapper in .NET - Code Maze","description":"In this article, we are going to learn how to handle and leverage the CommandTimeout property with Dapper in .NET.","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:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/","og_locale":"en_US","og_type":"article","og_title":"Handling CommandTimeout With Dapper in .NET - Code Maze","og_description":"In this article, we are going to learn how to handle and leverage the CommandTimeout property with Dapper in .NET.","og_url":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/","og_site_name":"Code Maze","article_published_time":"2023-04-07T06:00:55+00:00","article_modified_time":"2023-04-07T06:13:58+00:00","og_image":[{"width":1100,"height":620,"url":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-dotnet-core.png","type":"image\/png"}],"author":"Code Maze","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/CodeMazeBlog","twitter_site":"@CodeMazeBlog","twitter_misc":{"Written by":"Code Maze","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#article","isPartOf":{"@id":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/"},"author":{"name":"Code Maze","@id":"https:\/\/code-maze.com\/#\/schema\/person\/09d29b223012c8e94a68ba62861d0b04"},"headline":"Handling CommandTimeout With Dapper in .NET","datePublished":"2023-04-07T06:00:55+00:00","dateModified":"2023-04-07T06:13:58+00:00","mainEntityOfPage":{"@id":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/"},"wordCount":645,"commentCount":0,"publisher":{"@id":"https:\/\/code-maze.com\/#organization"},"image":{"@id":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#primaryimage"},"thumbnailUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-dotnet-core.png","keywords":[".NET",".NET CORE","CommandTimeout","Connection String","Dapper"],"articleSection":["Dapper"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/","url":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/","name":"Handling CommandTimeout With Dapper in .NET - Code Maze","isPartOf":{"@id":"https:\/\/code-maze.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#primaryimage"},"image":{"@id":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#primaryimage"},"thumbnailUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-dotnet-core.png","datePublished":"2023-04-07T06:00:55+00:00","dateModified":"2023-04-07T06:13:58+00:00","description":"In this article, we are going to learn how to handle and leverage the CommandTimeout property with Dapper in .NET.","breadcrumb":{"@id":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#primaryimage","url":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-dotnet-core.png","contentUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-dotnet-core.png","width":1100,"height":620,"caption":".NET (Core)"},{"@type":"BreadcrumbList","@id":"https:\/\/code-maze.com\/dotnet-handling-commandtimeout-with-dapper\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/code-maze.com\/"},{"@type":"ListItem","position":2,"name":"Handling CommandTimeout With Dapper in .NET"}]},{"@type":"WebSite","@id":"https:\/\/code-maze.com\/#website","url":"https:\/\/code-maze.com\/","name":"Code Maze","description":"Learn. Code. Succeed.","publisher":{"@id":"https:\/\/code-maze.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/code-maze.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/code-maze.com\/#organization","name":"Code Maze","url":"https:\/\/code-maze.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/code-maze.com\/#\/schema\/logo\/image\/","url":"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez.png","contentUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez.png","width":3511,"height":3510,"caption":"Code Maze"},"image":{"@id":"https:\/\/code-maze.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/CodeMazeBlog"]},{"@type":"Person","@id":"https:\/\/code-maze.com\/#\/schema\/person\/09d29b223012c8e94a68ba62861d0b04","name":"Code Maze","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/code-maze.com\/#\/schema\/person\/image\/","url":"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez-150x150.png","contentUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez-150x150.png","caption":"Code Maze"},"description":"This is the standard author on the site. Most articles are published by individual authors, with their profiles, but when several authors have contributed, we publish collectively as a part of this profile.","sameAs":["https:\/\/www.linkedin.com\/company\/codemaze\/","https:\/\/x.com\/https:\/\/twitter.com\/CodeMazeBlog"],"url":"https:\/\/code-maze.com\/author\/codemazecontributor\/"}]}},"_links":{"self":[{"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/posts\/84999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/comments?post=84999"}],"version-history":[{"count":2,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/posts\/84999\/revisions"}],"predecessor-version":[{"id":86527,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/posts\/84999\/revisions\/86527"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/media\/62191"}],"wp:attachment":[{"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/media?parent=84999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/categories?post=84999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/tags?post=84999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}