41554 blogs · [ { "id": "01a0d2ae-ce91-73f3-a659-95a289a54dc6", "title": "If It Quacks - Part 2", "url": "https://steven-giesel.com/blogPost/41599817-4457-441e-b874-1a5c67f4e7cc", "published_at": "2026-09-18T08:00:33+00:00" }, { "id": "01a09680-575d-7085-8d63-258e06ef1723", "title": "Quack Quack: Duck-Typing in C# with Interceptors", "url": "https://steven-giesel.com/blogPost/5170e165-29e8-437a-b5ce-446a84943809", "published_at": "2026-09-12T15:44:44+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14500e26962b", "title": "Adding Properties with extension methods in C# 14", "url": "https://steven-giesel.com/blogPost/4368fcea-c922-403e-bb3b-6b4990eb36d2", "published_at": "2026-09-04T09:07:48+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14500e3a37ea", "title": "Claude Memory Admin", "url": "https://steven-giesel.com/blogPost/b26c70f8-c11e-4b2b-81ad-54088ed674cf", "published_at": "2026-08-18T20:01:15+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14500f199547", "title": "xUnit.v3 4.0.0 released", "url": "https://steven-giesel.com/blogPost/b0e1aadf-8e88-4553-9636-19df43b1b068", "published_at": "2026-08-17T12:55:20+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14500f58d126", "title": ".NET Toolbox August Update", "url": "https://steven-giesel.com/blogPost/5adbbd4f-8979-4e97-9797-2e1f05ad19b2", "published_at": "2026-08-16T19:16:32+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14500fe5de08", "title": ".NET 11 Performance Edition", "url": "https://steven-giesel.com/blogPost/86620358-bb91-4295-84fc-a1329b2567ae", "published_at": "2026-08-01T11:45:01+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145010b326df", "title": "Adding static getter thanks to extensions", "url": "https://steven-giesel.com/blogPost/605274d2-719b-4b1f-b0d5-3ad9001d9b56", "published_at": "2026-07-19T16:05:43+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501179467a", "title": "Set LogLevel of Blazor", "url": "https://steven-giesel.com/blogPost/1cfa82eb-1108-4355-8815-615b094bf9ec", "published_at": "2026-07-12T14:22:23+00:00" }, { "id": "01a087e6-3c53-7329-8e37-1450120a1cd0", "title": "LinkedIn - What a dumbster fire", "url": "https://steven-giesel.com/blogPost/bf118bb2-0ea4-45ef-babb-26f67bfb0523", "published_at": "2026-07-01T07:05:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-1450129ca3d7", "title": "Signals in Blazor", "url": "https://steven-giesel.com/blogPost/495d87ca-61df-4c52-a253-8ba4abc186b7", "published_at": "2026-06-20T08:30:59+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145012a10516", "title": "EF Core 11 makes your split queries faster", "url": "https://steven-giesel.com/blogPost/d4401fd0-805a-4703-9d9e-5fe3b57c25ea", "published_at": "2026-06-08T05:00:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145013413524", "title": "Zstandard compression in .NET 11", "url": "https://steven-giesel.com/blogPost/6066abb6-640a-4225-ac33-3f4d5a1a1d16", "published_at": "2026-05-18T06:52:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145013cd68c4", "title": "BackgroundService exceptions now propagate in .NET 11", "url": "https://steven-giesel.com/blogPost/00fcb870-6bf7-4f97-824f-8eab1b8838be", "published_at": "2026-05-10T10:43:51+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145014bc6d73", "title": "ConfigurationIgnoreAttribute in .NET 11", "url": "https://steven-giesel.com/blogPost/18a61100-6074-43ac-86ae-573ad66a2c8a", "published_at": "2026-04-26T11:57:06+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145015018dfe", "title": "Source code generated string enums with exhaustion support", "url": "https://steven-giesel.com/blogPost/3acc78ff-5ae2-4be3-af7e-62bfcbf3fb6d", "published_at": "2026-04-06T06:50:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-1450154fc970", "title": "records ToString and inheritence", "url": "https://steven-giesel.com/blogPost/9be39ff1-b7fc-4814-abd4-5ea41a07f8d7", "published_at": "2026-03-16T03:42:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145015d500d8", "title": "FullJoin in .NET 11 - potentially", "url": "https://steven-giesel.com/blogPost/5a750fbf-cbf1-44dc-b864-70bedd8a29a9", "published_at": "2026-03-06T10:04:08+00:00" }, { "id": "01a087e6-3c53-7329-8e37-1450164f9087", "title": "Tool-Highlight: Handy", "url": "https://steven-giesel.com/blogPost/c193059f-33d5-4332-9b4b-96a5652bb67c", "published_at": "2026-03-02T07:32:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145016d05aa1", "title": "Being stupid is fun: Let's create long exception messages!", "url": "https://steven-giesel.com/blogPost/63431000-1192-4210-a85c-5fff00910d93", "published_at": "2026-02-23T05:01:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145016d6cbf7", "title": "New runtime async is hitting .NET 11 - Part 1", "url": "https://steven-giesel.com/blogPost/1fb10ed2-df84-4080-b660-72c04a4cc674", "published_at": "2026-02-15T13:00:22+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501776f63d", "title": "Collection Expression Arguments in C# 15 are \"out\"", "url": "https://steven-giesel.com/blogPost/441e0a21-9869-49e4-beac-b30bb9f9494c", "published_at": "2026-02-12T15:07:23+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501820ebe6", "title": ".NET Toolbox February Update", "url": "https://steven-giesel.com/blogPost/ec7526ca-9f43-4e28-b8cf-2bbcd30349ca", "published_at": "2026-02-10T19:06:57+00:00" }, { "id": "01a087e6-3c53-7329-8e37-1450190d0103", "title": "Sometimes you just need extensions methods to model your stuff", "url": "https://steven-giesel.com/blogPost/7f6e2ade-b5b9-4de6-a060-281e45b2448e", "published_at": "2026-01-25T17:28:49+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501996f4b0", "title": "Collection Expression Arguments in C# 15+", "url": "https://steven-giesel.com/blogPost/352fe495-9cc4-4df8-8ad1-a3e26a64185c", "published_at": "2026-01-12T05:54:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145019ac8924", "title": ".NET Toolbox", "url": "https://steven-giesel.com/blogPost/043491b9-9d2c-433f-bb9b-1cec5b957083", "published_at": "2026-01-05T05:41:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501aab1b68", "title": "Task.Delay fails if you wait longer than 49.7 days", "url": "https://steven-giesel.com/blogPost/c3bdad0d-f9eb-4dcf-b650-98ec0f5dd4d4", "published_at": "2025-12-28T11:34:09+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501b51eebc", "title": "One Minute Knowledge: Is ToArrayAsync or ToListAsync faster for Entity Framework?", "url": "https://steven-giesel.com/blogPost/55dbb67c-cd14-444f-81e8-dec9f5ce1448", "published_at": "2025-12-15T08:33:36+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501bdcbaf7", "title": "GitHub Runners might not be a good benchmark baseline", "url": "https://steven-giesel.com/blogPost/77f3667e-cf86-4e62-b09f-b32c0aaf58cd", "published_at": "2025-12-09T16:32:44+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501cb21673", "title": "Mime Type Helper in .NET 11", "url": "https://steven-giesel.com/blogPost/8f41d316-f6ac-4712-bf11-ea36b7c2f2e6", "published_at": "2025-12-02T08:11:07+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501cb59ef1", "title": "Using sortable UUID / GUIDs in Entity Framework", "url": "https://steven-giesel.com/blogPost/d6150b89-a3ef-407e-add2-7afa4a2a8729", "published_at": "2025-11-24T05:49:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501d9a8487", "title": "No more public partial class Program in .NET 10", "url": "https://steven-giesel.com/blogPost/9c156006-3e54-45b9-8e0c-ea933e005983", "published_at": "2025-11-19T12:20:51+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501e8fd7e9", "title": "Capturing Console Output in xUnit.v3", "url": "https://steven-giesel.com/blogPost/63a50c08-ddba-4f23-9ce0-b47917e32875", "published_at": "2025-11-10T05:00:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501ed598b1", "title": "ArrayPool Benchmarks: We have a problem", "url": "https://steven-giesel.com/blogPost/b8dffa1a-84f7-49a2-9dad-3bf8f7f4e410", "published_at": "2025-11-03T03:57:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501fa8cf51", "title": "LinkedIn: \"Are you still using new Random() everywhere?\"", "url": "https://steven-giesel.com/blogPost/cc2a3f52-9d35-43d2-9687-c276a2de8e07", "published_at": "2025-10-27T04:12:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14501fc9c57b", "title": "Inlining and structs in C#", "url": "https://steven-giesel.com/blogPost/e89d7156-f3fd-4152-b78a-cb908bc43226", "published_at": "2025-10-20T04:55:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145020b018b5", "title": "Use CancellationTokens", "url": "https://steven-giesel.com/blogPost/080baaef-27d4-4d98-b0a8-9c3ab96c335e", "published_at": "2025-10-06T05:15:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145020f2d8f6", "title": "LinkedIn Benchmarks again", "url": "https://steven-giesel.com/blogPost/06cb9eb9-927e-4bc6-a68a-1471288b9609", "published_at": "2025-09-15T06:33:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-1450217397c7", "title": "ToDictionaryAsync retrieves the whole object from the database in Entity Framework", "url": "https://steven-giesel.com/blogPost/1af57355-7978-40e6-a0f1-3d0ba2c6e1bc", "published_at": "2025-09-08T05:00:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145021c037d1", "title": "Divide and Conquer the Database", "url": "https://steven-giesel.com/blogPost/c0562c02-9073-46f2-8f66-00e4ebd7c9e3", "published_at": "2025-09-01T05:53:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14502262afc6", "title": "Quick one: Difference between collection expressions and collection initializer", "url": "https://steven-giesel.com/blogPost/fea0b033-ccf5-4197-b62c-ffd8ca6d79c7", "published_at": "2025-08-25T06:01:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145022eaa33a", "title": "Two more LINQ extensions in dotnet 10", "url": "https://steven-giesel.com/blogPost/5d88d808-03ac-431a-82fa-756b59b38a7d", "published_at": "2025-08-18T06:10:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-1450235fdf95", "title": "How to not return all properties in SqlRaw", "url": "https://steven-giesel.com/blogPost/c6bea409-9e49-4915-8529-8a8a8574ba80", "published_at": "2025-08-11T05:22:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-1450240760af", "title": "Disabling thread safety check in Entity Framework", "url": "https://steven-giesel.com/blogPost/f1c14e0f-840c-4dd6-921c-364298a35d6f", "published_at": "2025-08-04T05:51:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145024b1184c", "title": "Using Architecture Tests for CancellationTokens and sealed classes", "url": "https://steven-giesel.com/blogPost/feac44f3-2c6e-4994-80c3-e2a17efbb8f3", "published_at": "2025-07-28T05:19:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145025054009", "title": "Why Lists are not lowered to a while loop", "url": "https://steven-giesel.com/blogPost/2c204a37-1af5-45a4-ac4b-439d2d8a02f0", "published_at": "2025-07-21T04:56:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145025aed988", "title": "ToListAsync is fast again in Entity Framework (kind of)", "url": "https://steven-giesel.com/blogPost/dd7ab934-c311-45e0-9a04-9a28c624b957", "published_at": "2025-07-07T05:56:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145025bf984d", "title": "Adding test description for data-driven tests in xUnit", "url": "https://steven-giesel.com/blogPost/80a53df4-a867-4202-916c-08e980f02505", "published_at": "2025-06-30T05:34:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-14502624b85f", "title": "You can't use switch expressions in Blazor (sometimes)", "url": "https://steven-giesel.com/blogPost/b839cab5-55ad-4fd8-90ca-7799cde8ace0", "published_at": "2025-06-23T05:38:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-1450265ee6d9", "title": ".NET 10 Performance Edition", "url": "https://steven-giesel.com/blogPost/c518e8d6-54b4-407f-af82-e79e0889bc03", "published_at": "2025-06-16T06:11:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145026c89468", "title": "How to get to know the latest dotnet features - the nerdy way", "url": "https://steven-giesel.com/blogPost/f6ad319b-b095-47a0-91d7-800d30a0e3c2", "published_at": "2025-06-09T06:10:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145027594867", "title": "Why is enumerating over List faster than IList?", "url": "https://steven-giesel.com/blogPost/c624c170-c16c-4414-8506-2ae25ba54df7", "published_at": "2025-06-02T04:00:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-145027e27ab3", "title": "Avoiding reflection in C# in way unsafer ways!", "url": "https://steven-giesel.com/blogPost/53691229-fbb1-48cf-95e5-f586f9800ee1", "published_at": "2025-05-26T02:38:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-1450288db6f3", "title": "Writing new guards with extensions in C# 14", "url": "https://steven-giesel.com/blogPost/e2552b7a-293a-4f46-892f-95a0cd677e4d", "published_at": "2025-05-19T04:29:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-1450293d94c1", "title": "Clearing NuGet Caches", "url": "https://steven-giesel.com/blogPost/ef7e9271-3b8d-4658-988f-b48bbd11e320", "published_at": "2025-05-12T04:43:00+00:00" }, { "id": "01a087e6-3c53-7329-8e37-1450296cd28d", "title": "Does .NET Documentation get ads? Aka: Is Copilot in the docs something useful?", "url": "https://steven-giesel.com/blogPost/42cfcbfa-8e70-4b42-ba98-f8f2b7715185", "published_at": "2025-05-05T04:35:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4eeda74ee", "title": "HttpClient improvements in .NET 10", "url": "https://steven-giesel.com/blogPost/58680a06-7870-4a36-8a8a-bf1bf5cf30f1", "published_at": "2025-04-28T05:18:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4ef6b495d", "title": "Extensions get an update in .NET 10", "url": "https://steven-giesel.com/blogPost/d84875c9-c363-45ac-b716-d0b4047396cf", "published_at": "2025-04-21T05:30:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4ef87d257", "title": "A custom 404 page in Blazor Web Apps", "url": "https://steven-giesel.com/blogPost/38a4f1dc-420f-4489-9179-77371a79b9a9", "published_at": "2025-04-14T04:44:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4efee183e", "title": "More LinkedIn \"Tips\": Dragging your whole database into memory!", "url": "https://steven-giesel.com/blogPost/1534963c-fcf4-427c-847c-6ebfd8c91f31", "published_at": "2025-04-07T05:01:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f01c8f68", "title": "C# Language Mind map v14", "url": "https://steven-giesel.com/blogPost/91563474-ffe6-4c47-b7ee-fb04b5731a74", "published_at": "2025-03-31T03:00:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f07046ca", "title": "Solving Problems you wouldn't have if you wouldn't use Entity Framework", "url": "https://steven-giesel.com/blogPost/1b432667-3b2d-4c41-8557-b4c3a3c554d9", "published_at": "2025-03-24T04:51:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f0b6e89d", "title": "TypeScript-Go: A 10x Faster TypeScript without .NET but in Go", "url": "https://steven-giesel.com/blogPost/a36cc4df-4dce-47e0-b154-9a4a9e4a7a37", "published_at": "2025-03-17T05:43:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f1a37300", "title": "System.Linq.Async is part of .NET 10 - LINQ for IAsyncEnumerable", "url": "https://steven-giesel.com/blogPost/e40aaedc-9e56-491f-9fe5-3bb0b162ae94", "published_at": "2025-03-10T04:38:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f251af2b", "title": "Tailwind v4 with Blazor - It just got easier", "url": "https://steven-giesel.com/blogPost/364c43d2-b31e-4377-8001-ac75ce78cdc6", "published_at": "2025-03-03T03:57:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f31dbd49", "title": "C# 14: Null-conditional assignment", "url": "https://steven-giesel.com/blogPost/b6d22649-7fba-488b-b252-31efdb3686c5", "published_at": "2025-02-24T05:50:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f3effd85", "title": "IEnumerable vs IEnumerator in C#: One is 2x Faster - LinkedIn Edition", "url": "https://steven-giesel.com/blogPost/b705be3e-8d80-4de1-aefb-29c9262c49b7", "published_at": "2025-02-17T04:00:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f4d566a6", "title": "Managed Postgres Instance: Neon", "url": "https://steven-giesel.com/blogPost/e4720110-d276-4591-adf2-bea2351de6da", "published_at": "2025-02-10T04:00:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f59d884e", "title": "LINQ MindMap: .NET 10 Edition", "url": "https://steven-giesel.com/blogPost/00443661-f75b-4694-852b-175b4a10d6c4", "published_at": "2025-02-06T19:25:48+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f60f4034", "title": "Validate that your DI Container can be created in ASP.NET Core", "url": "https://steven-giesel.com/blogPost/d67df2e6-b8f7-4fd8-92ba-426e268b5216", "published_at": "2025-02-03T04:36:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f6814eee", "title": "When will .NET Framework retire?", "url": "https://steven-giesel.com/blogPost/6de02565-a08e-4968-b610-22826582c1f1", "published_at": "2025-01-27T04:00:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f70a0f21", "title": "Cache CORS Preflight Requests", "url": "https://steven-giesel.com/blogPost/5fc7cb62-d5ad-4f07-831c-d6c1c6974641", "published_at": "2025-01-20T03:44:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f766fc04", "title": "Announcing Developer Academy", "url": "https://steven-giesel.com/blogPost/abe1b169-78df-4b0e-a31e-8e274c43549a", "published_at": "2025-01-14T06:57:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f7759103", "title": "Equipping 3rd party types with debugging capabilities", "url": "https://steven-giesel.com/blogPost/48d50101-fa20-4f26-9a59-5c1229302460", "published_at": "2025-01-13T04:15:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f7c1a8c2", "title": "Why is Open Source important? And is it free?", "url": "https://steven-giesel.com/blogPost/591f2354-a205-4507-bbb2-7d88781e0563", "published_at": "2025-01-06T03:01:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f8abdcd8", "title": "Authenticate videos and images in Angular", "url": "https://steven-giesel.com/blogPost/caa09b13-83e4-452e-899f-598c66181e63", "published_at": "2024-12-23T05:31:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f8e6fd69", "title": "Some news about .NET 10: BackgroundServices and new String Comparer", "url": "https://steven-giesel.com/blogPost/3a8c29a3-750a-40f0-aa43-c236b855813e", "published_at": "2024-12-16T04:19:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f99480fb", "title": "LINQ might get a \"left join\" operator in .net 10", "url": "https://steven-giesel.com/blogPost/82ebfd51-23c0-44b7-9602-628d1aba5f3c", "published_at": "2024-12-09T03:00:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4f9ef0d4d", "title": "Having fun with ValueTuple", "url": "https://steven-giesel.com/blogPost/0a3db64c-e514-45fc-a1a1-2b79cc42f797", "published_at": "2024-12-02T05:04:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4fa197075", "title": "\"Always use early returns\" - LinkedIn Edition", "url": "https://steven-giesel.com/blogPost/ba94e3fe-57e7-4f27-83a7-97f349a4b39c", "published_at": "2024-11-25T05:00:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4fab0bee0", "title": "How to assert assumptions in code that might not be true?", "url": "https://steven-giesel.com/blogPost/0c8009eb-0bb6-4716-ae6c-fcb3de4a26e6", "published_at": "2024-11-18T06:33:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4fb1063e1", "title": "An awaitable Blazor Modal Dialog", "url": "https://steven-giesel.com/blogPost/79ab37d4-5fdf-4c36-8b99-ac17bbe1fc01", "published_at": "2024-11-11T05:14:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4fb2be8d1", "title": "Be careful with ToListAsync and ToArrayAsync in Entity Framework Core", "url": "https://steven-giesel.com/blogPost/70cebcf5-d171-4852-ae73-4950accfe999", "published_at": "2024-11-04T04:25:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4fb37fee0", "title": "ToArray(Async) vs ToList(Async) in Entity Framework 8", "url": "https://steven-giesel.com/blogPost/4ec751cd-d773-44c2-996e-cc4ae9ae966c", "published_at": "2024-10-28T04:22:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4fc0ea54c", "title": "Comparing the performance between the Minimal API and classic Controllers", "url": "https://steven-giesel.com/blogPost/698c45c3-58c5-4157-b4da-2cde4e27862e", "published_at": "2024-10-21T03:36:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4fc633bc1", "title": "Git Tricks: Get the last checked out branch", "url": "https://steven-giesel.com/blogPost/bbfb8333-e05a-4de7-88b9-17ac2248d77f", "published_at": "2024-10-14T05:17:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4fccde755", "title": "Centralize your packages in .NET with NuGet", "url": "https://steven-giesel.com/blogPost/988c047a-914a-446d-bd28-4840643dcfb9", "published_at": "2024-10-07T05:48:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4fcf82585", "title": "xUnit v3 and some stuff about TUnit", "url": "https://steven-giesel.com/blogPost/669d5aa2-b86a-4096-948c-9a767b7071e3", "published_at": "2024-09-30T04:28:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4fd015689", "title": "Fullstack Web Applications with .NET, Nx and Angular Seminar", "url": "https://steven-giesel.com/blogPost/c5b4262e-fa6b-4b45-848c-cb5b44c8435c", "published_at": "2024-09-27T15:41:14+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4fdc13151", "title": "Swagger Replacement in ASP.NET 9", "url": "https://steven-giesel.com/blogPost/777776a2-a13c-46bb-bf6b-89316d88508c", "published_at": "2024-09-23T05:42:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4feb67eb4", "title": "Managing TaskCancellationTokens in a central service in ASP.NET", "url": "https://steven-giesel.com/blogPost/cacc60e5-4fbf-473a-a5af-c9fb333d9183", "published_at": "2024-09-16T04:17:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff4ff61dae3", "title": "LINQ Joins on multiple columns in Entity Framework", "url": "https://steven-giesel.com/blogPost/78753461-d80f-4f81-9b4d-6484066aa43e", "published_at": "2024-09-09T05:07:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff50026641c", "title": "How to test HttpClient inside API Tests", "url": "https://steven-giesel.com/blogPost/47e4a351-0f1b-4bb5-a3d5-0ce4d7c1fa61", "published_at": "2024-09-02T05:10:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff500787f2c", "title": "To Soft Delete or Not to Soft Delete", "url": "https://steven-giesel.com/blogPost/a807373c-dcc6-42f9-995f-e69dcea1cd47", "published_at": "2024-08-26T04:22:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff500d8f306", "title": "FormattableStringFactory - Creating dynamic FormattableString instances", "url": "https://steven-giesel.com/blogPost/f824cfce-2da4-4037-9f4e-ff652f0ee124", "published_at": "2024-08-19T05:25:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff501a83032", "title": "async2 - The .NET Runtime Async experiment concludes", "url": "https://steven-giesel.com/blogPost/59752c38-9c99-4641-9853-9cfa97bb2d29", "published_at": "2024-08-12T05:13:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff501c1cae8", "title": "Organizing Parameters in Minimal API with the AsParametersAttribute", "url": "https://steven-giesel.com/blogPost/ee26a396-8f5a-40a7-9dd5-f08cd8c03518", "published_at": "2024-08-05T06:18:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff501d084a4", "title": "How many API's does .NET have?", "url": "https://steven-giesel.com/blogPost/09952d3c-6bbe-477b-b0ea-07276cdb3ba6", "published_at": "2024-07-29T04:00:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff501f5fa42", "title": "The state machine in C# with async/await", "url": "https://steven-giesel.com/blogPost/720a48fd-0abe-4c32-83ac-26926d501895", "published_at": "2024-07-22T04:57:00+00:00" }, { "id": "01a087e6-3c54-73a8-9557-dff502433dc1", "title": "How not to benchmark!", "url": "https://steven-giesel.com/blogPost/98458f74-5205-4b2b-9f5b-535e34ec2fea", "published_at": "2024-07-15T04:49:00+00:00" } ] posts Claim your blog
Back to steven-giesel.com
Blog · corpus.blog/blogs/steven-giesel.com/posts

steven-giesel.com

steven-giesel.com

2026

2025

2024