Skip to content
CAI
Software that uses CAICheck a score

AntonioFalcaoJr/Dotnet6.EFCore6.Record.ValueObjects

37.3

Weak · 21 September 2026

753

lines of production code

C#

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a .NET 6 WebAPI application that exposes RESTful endpoints for managing person records and their associated address data. It utilizes Entity Framework Core 6 with a repository pattern to interact with a SQL Server database, supporting both read and write operations for persons and their nested value objects. The architecture is containerized via Docker for deployment and includes automated database seeding for initial data.

Features

Initial project scaffolding and Docker support

The repository was initialized with essential configuration and documentation files, including a solution file (Dotnet6.EFCore6.Record.ValueObject.sln) that defines the project structure, a .dockerignore file to optimize Docker builds, and a docker-compose.yml file to orchestrate the SQL Server and WebAPI services. Additionally, a global.json file was added to pin the .NET SDK version to 6.0.100-preview.4.21255.9, and standard repository metadata files (LICENSE, README.md, .gitignore) were created to support development and distribution.

(repo-wide) · high confidence

Initial release of the WebAPI layer with Docker support

The WebAPI project has been reorganized under a \src/\ directory and now includes a \Dockerfile\ to support containerized deployments. The release introduces the \PersonsController\ which exposes REST endpoints for retrieving and creating persons, and includes a \DefineAddress\ endpoint that allows updating a person's address. The API is configured with API versioning, Swagger documentation, and AutoMapper for mapping request models to domain entities. Additionally, the domain models (Person, Address, City, etc.) have been moved into the \src\ directory structure.

src/Dotnet6.EFCore6.Record.ValueObject.WebAPI · high confidence

Introduce EF Core 6 repository pattern with SQL Server support and seeded data

Added a new repository layer for the \Person\ entity using the EF Core 6 repository pattern. This includes a generic \IRepository\ interface and abstract \Repository\ base class providing standard CRUD operations, along with a concrete \PersonRepository\. The \ApplicationDbContext\ is configured for SQL Server with a custom collation and retrying execution strategy. Entity configuration maps the \Person\ and its owned value objects (\Address\, \Street\, \City\, \State\, \Country\) to the database schema. Additionally, the context includes a seeding mechanism that inserts 10 initial \Person\ records into the database.

src/Dotnet6.EFCore6.Record.ValueObject.Repositories · high confidence

Dependencies

Upgrade to .NET 6 and update core dependencies

The project has been migrated to the .NET 6 target framework. Additionally, the diff shows updates to several key dependencies: Microsoft.EntityFrameworkCore and related packages were upgraded from preview versions to stable 6.0.10/6.0.1, AutoMapper was updated to version 12.0.0, and Swashbuckle.AspNetCore was updated to 6.2.3.

(dependencies) · medium confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 38 → 37 (-0.7)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 76 → 76 (+0.0)
  • Architecture 80 → 80 (+0.0)
  • Maturity 46 → 46 (+0.0)
  • Readiness 35 → 35 (+0.0)
  • Security 27 → 25 (-1.5)

Resolved (3)

  • Build status unknown
  • No exposed public API
  • dormant codebase — no living knowledge left to concentrate

New (7)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • End-of-life runtime: .NET net6.0
  • High IaC: WD-COMPOSE-0002 (docker-compose.yml)
  • Medium IaC: WD-DOCKER-0003 (src/Dotnet6.EFCore6.Record.ValueObject.WebAPI/Dockerfile)
  • Medium IaC: WD-DOCKER-0003 (src/Dotnet6.EFCore6.Record.ValueObject.WebAPI/Dockerfile)
  • The same entity type 'Person' is referred to by different parameter names ('user' vs 'person') in different contexts. While 'user' and 'person' can be distinct concepts, in this specific domain model where 'Person' is the entity name, using 'user' for a 'Person' instance is inconsistent with the explicit naming convention used elsewhere ('person').

API surface

  • Unchanged — 4 HTTP endpoints

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

AntonioFalcaoJr/Dotnet6.EFCore6.Record.ValueObjects was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit bd5fe8804525a79a2adfa2cf25bf9f4da96b8553 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-28e75b8e3254.