Wiki Sprint 2: rewrites for outdated content, expand stubs, add What's New
Eight pages substantively rewritten and one new page. Focus is on
removing factually wrong descriptions of removed-in-v4 machinery and
giving new readers an entry point to the v4 changes.
REWRITES (factually outdated)
-----------------------------
- About-Connection-Strings.md
Removed: Web.config / App.config auto-discovery, machine-name
override, {Configuration}.{Name} layering. None of that exists in
v4 (the constructor takes the connection string directly).
Added: appsettings.json + IConfiguration + DI flow, user-secrets and
ASPNETCORE_ENVIRONMENT for per-environment overrides, connection-pool
warning, brief .NET Framework note.
- Getting-Started.md
Step 2 (config): updated from Web.config XML-only to appsettings.json
primary, with .NET Framework as a fallback note.
Step 3 (constructor): clarified that the connection string is passed
explicitly, not auto-resolved.
Step 5 (lifetime): replaced the legacy try/catch/finally pattern (which
had a real bug — repository would be null on ctor failure) with the
three modern patterns: Scoped DI registration + injection (ASP.NET
Core), 'using var' (console / scripts), IServiceScopeFactory.CreateScope
(background workers).
- Transactions.md
Reorganised around the choice between BeginTransaction (manual commit)
and RunInTransaction (auto commit) — previously only BeginTransaction
was documented. Added RunInTransaction and RunInTransactionAsync /
BeginTransactionAsync sections with examples (TransferFunds-style
flow). Comparison table at the top.
NEW PAGE
--------
- Whats-New-in-v4.md
Summarises target frameworks, configuration changes, and the new
APIs added in Levels 1-3 (BulkCopy, ReadToLists, MergeJoin,
ReadToAsyncEnumerable, AddJsonParam<T>, DateOnly/TimeOnly, output
parameters, default-value Get* extensions, pre-populated lists,
async transactions, async-symmetry methods). Cross-links to pages
that will be written in Sprint 3 (BulkCopy, MergeJoin, ReadToLists,
Streaming, Using-Artisan-in-ASP.NET-Core).
STUBS EXPANDED
--------------
- RepositoryBase.md (was 14 lines): proper overview of what the base
class provides, lifetime guidance, constructor signatures, and a
schematic public surface.
- Auto-Mapping.md (was 9 lines): full lifecycle of the expression-tree
builder, when to use vs registered MapperFor, AOT note, example with
a User type. Added cross-link to AsDataTable<T>.
- Inline-Mappers.md (was 10 lines): three idiomatic uses (anonymous
type, tuple, one-off class), when to graduate to a registered mapper,
performance note (no reflection, no caching needed).
NAVIGATION
----------
- _Sidebar.md, Home.md: prepended 'What's New in v4' link as the first
entry under the home link, so new visitors land on the v4 summary
before drilling into specific topics.
- Display text 'SqlDataReader extentions' on the sidebar already fixed
to 'extensions' in Sprint 1; URL still points at the legacy slug.
Local-only commit (does not affect origin/master).