-
Database Independence–using TestContainers
Test without Database installing – I use Testcontainers For SQL Server, PostgreSQL, and MongoDB, I use Testcontainers to run the database engines in disposable Docker containers during the integration tests. This lets me test the real EF Core providers instead of replacing them with mocks or an in-memory database. The test project references the provider-specific…
-
VaRe&DaIn–part 060 of n–OptionsBuilder
Now I want to create the database in each provider (Sqlite, MsSql, Postgresql, Mongo) Let’s say that I have the database context and I want to create the database from a simple connection string For this I need a common interface , IEFCore_DatabasePlugin, to function the same for all database I target .NET 10 and…
-
VaRe&DaIn–part 050 of n–practical database independence
When I think about database independence, I need to consider two perspectives: the programmer and the application administrator. As a programmer, I want debugging to be straightforward, regardless of which database I am using. I also want to understand how to develop and test against any supported database without having to redesign the application for…
-
Friday links 581
Build a real-world example with Microsoft Agent Framework, Microsoft Foundry, MCP and Aspire – Microsoft for Developers Get started with GitHub Copilot CLI: A free, hands-on course – Microsoft for Developers github/copilot-cli-for-beginners: Learn how to get started using the GitHub Copilot CLI! GitHub Copilot CLI command reference – GitHub Docs Rob Pike’s 5 Rules of…
-
RSCG – SatorImaging.TDoubles
RSCG – SatorImaging.TDoubles name SatorImaging.TDoubles nuget https://www.nuget.org/packages/SatorImaging.TDoubles/ link https://github.com/sator-imaging/TDoubles author Sator Imaging Generating test stubs with mocking for interfaces This is how you can use SatorImaging.TDoubles . The code that you start with is The code that you will use is The code that is generated is Code and pdf at…
-
RSCG – PropertyResolvers
RSCG – PropertyResolvers name PropertyResolvers nuget https://www.nuget.org/packages/PropertyResolvers/ link https://github.com/tombiddulph/PropertyResolvers author Tom Biddulph Generating code for switch for property in C# This is how you can use PropertyResolvers . The code that you start with is The code that you will use is The code that is generated is Code and pdf…
-
RSCG – Pinecone.TypedPath
RSCG – Pinecone.TypedPath name Pinecone.TypedPath nuget https://www.nuget.org/packages/Pinecone.TypedPath/ link https://github.com/nickpinecone/typed-path author Nick Pinecone Generating typed paths for file system navigation and manipulation. This is how you can use Pinecone.TypedPath . The code that you start with is The code that you will use is The code that is generated is Code and…
-
Friday links 580
mcollina/snipgrapher Installation & Usage | Shiki HAX Design Library – Microsoft HAX Toolkit ai-agents-for-beginners/08-multi-agent/README.md at main · microsoft/ai-agents-for-beginners AgentEvalHQ/AgentEval: AgentEval is the comprehensive .NET toolkit for AI agent evaluation—tool usage validation, RAG quality metrics, stochastic evaluation, and model comparison—built first for Microsoft Agent Framework (MAF) and Microsoft.Extensions.AI. What RAGAS, PromptFoo and DeepEval do for Python,…
-
VaRe&DaIn–part 040 of n–DatabaseIndependence
Now comes the real part. I want the app to work with any database—SQLite, PostgreSQL, SQL Server, and MongoDB—and to choose the database type and connection string at startup. In the .NET world, I see two main options: 1. The plain SQL-style approach: I define an interface with methods for the data I need in…
-
Intermezzo–2 Aspire Extensions modified
In order to can make videos for the VacationRelay , I had to modify 2 Aspire Extensions 1. https://www.nuget.org/packages/PortExtensionsAspire For an unknown reason( unknown – because I do not like to investigate ) , Adminer extension for Aspire didn’t like the port assigned , but it likes 13456( And the port was useful to send…
I am ok , you are ok