ABOUT US ABOUT US

> Dave Paquette

Dave is a passionate, hands-on software developer who enjoys building quality software that solves real-world problems. Dave has many years of experience in developing software for financial, agricultural and energy companies where he has specialized in .NET and web development. He has led the development of several commercial products and internal systems. This wide range of experience has helped to cultivate his pragmatic approach to solving technical and business problems. Dave enjoys staying on top of the latest technologies, and in his spare time has built and published a number of web and phone apps.

Dave is a Microsoft MVP in ASP.NET/IIS and has a Master’s Degree in Computer Science from the University of Saskatchewan. He is active the software community, presenting at local events and conferences and contributing to open source projects. He enjoys blogging frequently at www.davepaquette.com and contributes regularly to the MSDN Canadian Developer Connection blog.

> Blog posts

MAY
23
2020
Scaling Azure Functions from Consumption Plan to Premium Plan (and back again)
Dave Paquette
In this post, we use the az cli to move an Azure Function app from a Consumption Plan to a Premium Plan (and back again).
MAY
10
2020
Deploying a Static Site to Azure Using the az CLI
Dave Paquette
The az command line interface (cli) is a powerful tool for creating, modifying and deploying to Azure resources. Since it's a cli AND cross platform, it's also a great tool for automating your deployments. In this post, we'll use the az cli to deploy a static site to Azure.
MAR
8
2020
Enhancing Application Insights Request Telemetry
Dave Paquette
A continuation in my series of love letters about Application Insights. Today I explore a method of enhancing the request telemetry that is automatically collected by the Application Insights SDK.
FEB
6
2020
Setting Cloud Role Name in Application Insights
Dave Paquette
A continuation in my series of love letters about Application Insights. Today I dig into the importance of setting cloud role name.
JAN
20
2020
Getting the Most Out of Application Insights for .NET (Core) Apps
Dave Paquette
If you've worked with me in the last couple years, you know that I've fallen in love with Application Insights. This is the first in a series of posts designed to help you get the most out of Application Insights for .NET Core applications.
MAR
28
2019
Using NodaTime with Dapper
Dave Paquette
After my recent misadventures attempting to use Noda Time with Entity Framework Core, I decided to see what it would take to use Dapper in a the same scenario.
MAR
26
2019
Using Noda Time with Entity Framework Core
Dave Paquette
Noda Time is a fantastic date/time library for .NET. I started using it recently and it really simplified the logic around handling dates. Unfortunately, I ran in to some problems with using Noda Time together with Entity Framework Core.
MAR
20
2019
Optimistic Concurrency Tracking with Dapper and SQL Server
Dave Paquette
This is a part of a series of blog posts on data access with Dapper. In today's post, we explore optimistic checks to ensure 2 users can't accidentally overwrite each other's updates to a particular row of data.
FEB
6
2019
Managing Database Transactions in Dapper
Dave Paquette
This is a part of a series of blog posts on data access with Dapper. In today's post, we explore a more complex write operation that requires us to manage a database transaction.
FEB
4
2019
Basic Insert Update and Delete with Dapper
Dave Paquette
This is a part of a series of blog posts on data access with Dapper. In today's post, we explore how easy it is to perform basic Insert, Update and Delete operations.
JAN
29
2019
Paging Large Result Sets with Dapper and SQL Server
Dave Paquette
This is a part of a series of blog posts on data access with Dapper. In today's post, we look at a way to page through large results sets.
JAN
21
2019
Using Vue as a drop-in replacement for Knockout in an ASP.NET MVC project
Dave Paquette
When maintaining existing ASP.NET applications, we often need to add some client side behaviour. I am a little surprised to see people reaching for Knockout in these scenarios but I think vuejs is a great alternative that is very much worth exploring.
NOV
14
2018
Installing an Azure Web App Site Extension with PowerShell
Dave Paquette
I recently ran into a scenario where I needed to script the installation of a site extension into an existing Azure Web App. The solution was not easy to find but I eventually got to a solution.
APR
10
2018
Loading Related Entities with Dapper Many-to-One - Part 2
Dave Paquette
This is a part of a series of blog posts on data access with Dapper. In today's post, we look at a second option for loading Many-to-One related entities.
FEB
7
2018
Loading Related Entities: Many-to-One
Dave Paquette
This is a part of a series of blog posts on data access with Dapper. In today's post, we will start our journey into more complex query scenarios by exploring how to load related entities. There are a few different scenarios to cover here. In this post we will be covering the Many-to-One scenario.
JAN
29
2018
Using Stored Procedures to Load Data with Dapper
Dave Paquette
Let's just get this one out of the way early. Stored procedures are not my favorite way to get data from SQL Server but there was a time when they were extremely popular. They are still heavily used today and so this series would not be complete without covering how to use stored procedures with Dapper.
JAN
23
2018
Loading an Object From SQL Server Using Dapper
Dave Paquette
I was recently asked to create a read-only web API to expose some parts of a system's data model to third party developers. While Entity Framework is often my go-to tool for data access, I thought this was a good scenario to use Dapper instead. This series of blog posts explores dapper and how you might use it in your application. Today, we will start with the basics of loading and mapping a database table to a C# class.
NOV
29
2017
Authorize Resource Tag Helper for ASP.NET Core
Dave Paquette
ASP.NET Core has a powerful mechanism for implementing resource-based authorization using the IAuthorizationService and resource-based AuthorizationHandlers. In this blog post, we build a tag helper that makes it simple to use resource-based auhtorization to Razor views without writing any C# code in the view.
NOV
5
2017
Authorize Tag Helper for ASP.NET Core
Dave Paquette
In ASP.NET Core, it's easy to control access to Controllers and Action Methods using the Authorize attribute. This attribute provides a simple way to ensure only authorized users are able to access certain parts of your application. While the Authorize attribute makes it easy to control authorization for an entire page, the mechanism for controlling access to a section of a page is a little clumsy. In this blog post, we build a Tag Helper that makes it incredibly easy to control access to any block HTML in a Razor view.
NOV
27
2016
Integration Testing with Entity Framework Core and SQL Server
Dave Paquette
Entity Framework Core makes it easy to write tests that execute against an in-memory store but sometimes we want to actually run our tests against a real relational database. In this post, we look at how to create an integration test that runs against a real SQL Server database.
NOV
22
2016
Creating a New View Engine in ASP.NET Core
Dave Paquette
At the ASP.NET Hackathon in Redmond, we replaced the Razor view engine with Pug. It started off as a joke but it kind of worked okay so we rolled with it.
JUL
16
2016
Loading View Components from a Class Library in ASP.NET Core MVC
Dave Paquette
In today's post we take a look at how view components can be implemented in a separate class library and shared across multiple web applications.
MAY
22
2016
ASP.NET Core Distributed Cache Tag Helper
Dave Paquette
The anxiously awaited ASP.NET Core RC2 has finally landed and with it we have a shiny new tag helper to explorer. In this post we will explore the new Distributed Cache tag helper and how it differs from the already existing Cache tag helper.
JAN
24
2016
Submitting Your First Pull Request
Dave Paquette
Over the last few years, we have seen a big shift in the .NET community towards open source. In addition to a huge number of open source community led projects, we have also seen Microsoft move major portions of the .NET framework over to GitHub. With all these packages out in the wild, the opportunities to contribute are endless. In this post I will guide you through the process of submitting your first pull request.
JAN
2
2016
Goodbye Child Actions, Hello View Components
Dave Paquette
In previous versions of MVC, we used Child Actions to build reusable components. Child Actions do not exist in MVC 6. Instead, we are encouraged to use the new View Component feature to support this use case.
DEC
28
2015
Complex Custom Tag Helpers in MVC 6
Dave Paquette
How to build complex tag helper that are made up of multiple parts in MVC 6
DEC
28
2015
My Hasty Move to Hexo
Dave Paquette
I have meant for some time now to move my blog to something a little more stable. Wordpress is a fine platform but really overkill for what I need.
DEC
3
2015
The Case of the Disappearing Database
Dave Paquette
Something scary happened last week. The database backing my blog disappeared from my Azure account.
NOV
16
2015
Realistic Sample Data With GenFu
Dave Paquette
Last week, I had the opportunity to spend some time hacking with my good friend James Chambers. One of the projects we worked on is his brainchild: GenFu
NOV
3
2015
Markdown in Your MVC 6 Razor Pages
Dave Paquette
What? Markdown in your Razor code? Yeah...and it was totally easy to build too. Taylor Mullen demoed the idea of a Markdown Tag Helper idea at Orchard Harvest and I thought it would be nice to include this in my Tag Helper Samples project.
SEP
21
2015
Custom MVC6 Tag Helper Samples
Dave Paquette
A group of us who have been exploring MVC 6 Tag Helpers have created a repository of Tag Helper Samples. The repository contains a set of real world samples that can help you understand how to build your own custom tag helpers.
SEP
4
2015
Adding Prefixes to Tag Helpers in MVC 6
Dave Paquette
Some people have said that they would prefer all Tag Helper elements in MVC 6 to be prefixed. I honestly don't see myself doing this but it is easy to turn on if you prefer tag helper elements to be prefixed with some special text.
SEP
3
2015
Why Gulp?
Dave Paquette
I recently made some updates to my blog post on How to Use Gulp in Visual Studio. I don't usually go back and update old blog posts, but this one receives a fair amount of daily traffic. There was a minor mistake in the way I had setup my gulp watch and I wanted to fix that to avoid confusion. I also get a lot of questions about why using a task runner like Gulp is a 'better approach' than the way things are done in ASP.NET 4.x. I have addressed some of those questions in the original post but I will go into more detail here.
JUL
20
2015
Cancelling Long Running Queries in ASP.NET MVC and Web API
Dave Paquette
A lot has been written about the importance of using async controller actions and async queries in MVC and Web API when dealing with long running queries. If done properly, it can hopefully improve throughput of your ASP.NET applications. While async won't solve the problem of your database being a bottleneck, it can help to ensure that your web server is still able to process other smaller/shorter requests. It will especially ensure requests that do not require access to that database can be processed in a timely fashion.
JUL
2
2015
MVC 6 Image Tag Helper
Dave Paquette
ASP.NET 5 Beta 5 shipped yesterday and it includes a new tag helper: the [Image tag helper](https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNetCore.Mvc.TagHelpers/ImageTagHelper.cs. While this is a very simple tag helper, it has special meaning for me. Implementing this tag helper was my first pull request submitted to the aspnet/mvc repo.
JUN
23
2015
Creating custom MVC 6 Tag Helpers
Dave Paquette
In the last few blog posts, I have spent some time covering the tag helpers that are built in to MVC 6. While the built in tag helpers cover a lot of functionality needed for many basic scenarios, you might also find it beneficial to create your tag helpers from time to time. In this post, I will show how you can easily create a simple tag helper to generate a Bootstrap progress bar. NOTE: Thank you to James Chambers for giving me the idea to look at bootstrap components for ideas for custom tag helpers.
JUN
4
2015
MVC 6 cache tag helper
Dave Paquette
In this post in my series exploring the ASP.NET 5 MVC 6 tag helpers, I will dig into the Cache Tag Helper. The Cache Tag Helper is a little different than most of the other tag helpers we talked about because it doesn't target a standard HTML tag. Instead, it wraps arbitrary content and allows those contents to be cached in memory based on the parameters you specify.

Dave Paquette

Email Email
Web Web
Twitter Twitter
GitHub GitHub
RSS

Looking for someone else?

You can find the rest of the Western Devs Crew here.

© 2015 Western Devs. All Rights Reserved. Design by Karen Chudobiak, Graphic Designer