3 Ways To Refactor EF Linq Queries w/o Killing Perf
Extracting a method from an Entity Framework LINQ query can quietly kill performance. Here are three easy solutions including: Expressions, Extension Methods, and LinqKit.Embed from Getty...
View ArticleStored Procedures in ASP.Net Boilerplate
Using stored procedures in ASP.Net Boilerplate is a little trickier than you might imagine. There's the problem of getting them into the database with EF Code-First migrations. Then there's the issue...
View ArticleMulti-Tenancy is Hard: ASP.Net Boilerplate Makes it Easy
If you're liable to start a new web project that even might need multi-tenancy, you should probably use ASP.Net Boilerplate (ABP). As I've blogged about previously, ABP will save weeks of dev time on...
View ArticleConquer ASP.Net Boilerplate Query Performance in LINQPad, (Announcing...
Ever made it to production only to realize your code fails miserably at scale? When performance problems rear their gnarly head and there name is EntityFramework, there is but one blade to slice that...
View ArticleStrongly Typed, Dependency Managed Azure in C#: Introducing Cake.AzureCLI
The story, nay legend, of providing strongly typed, cross platform, dependency managed access to all 2,935 Azure CLI commands in C#. You can now have strongly typed, cross platform, dependency managed...
View ArticleABP CRUD Cheat Sheet: The Distilled, Essential Steps to Add an Entity in...
While the process of making Create, Read, Update, and Delete (CRUD) pages in ASP.Net Boilerplate is well documented on their website, and while I did a detailed walk through in my video E19: Be a Hero...
View ArticleMastering External Web API's in ASP.Net Core and ABP with Swagger,...
Embed from Getty ImagesRecently a customer asked me to build out a small end user facing web API in addition to the existing one used by my SPA (Angular) app. A few weeks later someone asked me how to...
View ArticleSecure External APIs with API Keys - and Keep the Villains at Bay
Suppose you've written a web app and exposed an external REST API based on Swagger and Swashbuckle in an ASP.Net Core site. Perhaps you blindly followed some rando's recent blog post about it,...
View Article800+ Subscribers: A Tale of Inspiration (via Hanselminutes) and Pivot (Eric...
Three years ago last month Scott Hanselman recorded an episode of Hanselminutes he's undoubtedly already forgotten. I haven't. I wasn't looking for inspiration the day I stumbled on that episode, but...
View ArticleBlazor WebAssembly vs Angular: Client Side Clash
Think quick: you're starting a new project, which single page application (SPA) technology should you use: That shiny Blazor WebAssembly you've heard so much about or something more mature like...
View ArticleDeploying ASP.Net Boilerplate Apps for Devs in a Hurry
I've deployed two apps based on ASP.Net Boilerplate (Angular + ASP.Net Core) through to production. The second used Azure Kubernetes Services. It's slick, sophisticated, self-healing, extremely...
View ArticleSix Lessons Learned and a New Tool Published After Organizing My 1st Virtual...
6 lessons learned while moving the NoVA Code Camp online, and announcing Sessionized, a new open source app for Code Camp organizers2020 hasn't generally been an awesome experience, fortunately...
View ArticleAdd Superpowers to Your Next ASP.NET Project with the ABP Framework
Two years ago I discovered ASP.Net Boilerplate and on two subsequent projects realized enormous time savings and quality improvements thanks to it. The ABP Framework (aka ABP.IO) is the next version...
View ArticleThe One Thing I Wish I'd Known Before Using Cake
Set yourself up for success on your next DevOps project by avoiding this gnarly Cake mistake Let's cut to the chase: A little known Werner Heisenberg axiom discovered during his 1927 quantum physics...
View ArticleCake Frosting: More Maintainable C# DevOps
This week Cake V1.0 was released and with it: an upgrade to Frosting, a more robust technique for writing DevOps in a language the whole team can understand. The timing is fantastic, because last week...
View Article2 Ways to Log the Current User in ASP.Net Core
How to automatically add current user info to logs in ASP.Net Core. First shown in ASP.Net Boilerplate with log4net. Next shown in ABP Framework with the Microsoft Logging Framework and Serilog.If...
View ArticleStop Saving to Disk with C# Asynchronous Streams
My journey to solve a hard performance problem with a newish language feature: asynchronous streams. Explains what asynchrnous streams are, and shows a real world problem they can solve.Recently I...
View Article6 Ways I'm Improving Mental Health in 2022
I sincerely hope you'll find some inspiration here. I'm temporarily veering away from my traditional topics of .NET, OSS, and Maker content. I share a personal story related to mental health. I want...
View Article5 Ways to Supercharge Your Productivity with GitHub Copilot
The new AI coding assistant from GitHub can help increase your speed, quality, and efficiency. Here's 5 tips to get you started.Copilot recently saved my bacon. I had a tight three-week deadline and a...
View ArticleMAUI Sounds Amazing. Is It?
You're ready for .NET MAUI, but is it ready for you? In this post I share my real-world experience of Microsoft's latest write-once deploy-anywhere solution.Technology vendors have promised write-once,...
View ArticleMaster ChatGPT Today or Risk Obsolescence Tomorrow
As a dev I tried ChatGPT for a week instead of search engines, official docs, and Stack Overflow. Here's what I learned. Since ChatGPT is all the rage I thought I'd try it for couple weeks instead of...
View ArticleHow To Deploy EF Database Migrations
How to deploy Entity Framework Database Migrations across multiple environments, revert migrations, and support complex migrations, all while avoiding security flags. Managing stateful data is...
View ArticleMS Build 2023: Must-See Sessions
I've been to every single Microsoft Build conference one save since it started in 2011. It's one of my favorite conferences, and I'm so excited that it will be in-person again this year after a two...
View ArticleHow To Decrease ABP's Azure Costs by An Order of Magnitude
The Azure SQL Serverless SKU can save you a lot of money, but only if you know how to take advantage of it. This post will show you how to minimize costs, particularly if you use the ABP Framework. As...
View ArticleMy Battle with Docker Desktop: Solving "Failed to Resolve Reference" and...
After hours of troubleshooting Docker Desktop on Windows, I finally resolved a series of frustrating issues caused by misconfigured network settings. Here’s a summary of my fight, with all the error...
View Article