diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 9f4b9f1d56..de5a0b2ff0 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2025.2.4",
+ "version": "2025.3.0.2",
"commands": [
"jb"
],
@@ -17,14 +17,14 @@
"rollForward": false
},
"dotnet-reportgenerator-globaltool": {
- "version": "5.4.17",
+ "version": "5.5.0",
"commands": [
"reportgenerator"
],
"rollForward": false
},
"docfx": {
- "version": "2.78.2",
+ "version": "2.78.4",
"commands": [
"docfx"
],
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 35313888ef..899841bc40 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -23,6 +23,7 @@ concurrency:
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
+ SOLUTION_FILE: JsonApiDotNetCore.sln
jobs:
build-and-test:
@@ -48,6 +49,7 @@ jobs:
dotnet-version: |
8.0.*
9.0.*
+ 10.0.*
- name: Show installed versions
shell: pwsh
run: |
@@ -123,12 +125,14 @@ jobs:
# This contains the git tag name on release; in that case, we build the docs without publishing them.
DOCFX_SOURCE_BRANCH_NAME: ${{ github.base_ref || github.ref_name }}
run: |
+ $ErrorActionPreference = "Stop"
+ $PSNativeCommandUseErrorActionPreference = $true
cd docs
+ $zipFile = [IO.Path]::Combine($env:TEMP, 'docfx-net10-binaries.zip')
+ Invoke-WebRequest -Uri 'https://github.com/json-api-dotnet/docfx/raw/refs/heads/dotnet10-rtm/net10-binaries.zip' -Method 'GET' -OutFile $zipFile
+ Expand-Archive $zipFile -Force
& ./generate-examples.ps1
- dotnet docfx docfx.json --warningsAsErrors true
- if ($LastExitCode -ne 0) {
- Write-Error "docfx failed with exit code $LastExitCode."
- }
+ dotnet exec docfx-net10-binaries/docfx.dll docfx.json --warningsAsErrors true
Copy-Item CNAME _site/CNAME
Copy-Item home/*.html _site/
Copy-Item home/*.ico _site/
@@ -159,6 +163,7 @@ jobs:
dotnet-version: |
8.0.*
9.0.*
+ 10.0.*
- name: Git checkout
uses: actions/checkout@v5
- name: Restore tools
@@ -168,7 +173,8 @@ jobs:
run: |
$inspectCodeOutputPath = Join-Path $env:RUNNER_TEMP 'jetbrains-inspectcode-results.xml'
Write-Output "INSPECT_CODE_OUTPUT_PATH=$inspectCodeOutputPath" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- dotnet jb inspectcode JsonApiDotNetCore.sln --build --dotnetcoresdk=$(dotnet --version) --output="$inspectCodeOutputPath" --format="xml" --profile=WarningSeverities.DotSettings --properties:Configuration=Release --properties:ContinuousIntegrationBuild=false --properties:RunAnalyzers=false --severity=WARNING --verbosity=WARN -dsl=GlobalAll -dsl=GlobalPerProduct -dsl=SolutionPersonal -dsl=ProjectPersonal
+ dotnet jb inspectcode --version
+ dotnet jb inspectcode $env:SOLUTION_FILE --build --dotnetcoresdk=$(dotnet --version) --output="$inspectCodeOutputPath" --format="xml" --profile=WarningSeverities.DotSettings --properties:Configuration=Release --properties:ContinuousIntegrationBuild=false --properties:RunAnalyzers=false --severity=WARNING --verbosity=WARN -dsl=GlobalAll -dsl=GlobalPerProduct -dsl=SolutionPersonal -dsl=ProjectPersonal
- name: Upload output to artifacts
uses: actions/upload-artifact@v4
with:
@@ -218,6 +224,7 @@ jobs:
dotnet-version: |
8.0.*
9.0.*
+ 10.0.*
- name: Git checkout
uses: actions/checkout@v5
with:
@@ -236,13 +243,15 @@ jobs:
$baseCommitHash = git rev-parse HEAD~1
Write-Output "Running code cleanup on commit range $baseCommitHash..$headCommitHash in pull request."
- dotnet regitlint -s JsonApiDotNetCore.sln --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN -f commits -a $headCommitHash -b $baseCommitHash --fail-on-diff --print-diff
+ dotnet jb cleanupcode --version
+ dotnet regitlint -s $env:SOLUTION_FILE --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN -f commits -a $headCommitHash -b $baseCommitHash --fail-on-diff --print-diff
- name: CleanupCode (on branch)
if: ${{ github.event_name == 'push' || github.event_name == 'release' || github.event_name == 'workflow_dispatch' }}
shell: pwsh
run: |
Write-Output 'Running code cleanup on all files.'
- dotnet regitlint -s JsonApiDotNetCore.sln --print-command --skip-tool-check --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN --fail-on-diff --print-diff
+ dotnet jb cleanupcode --version
+ dotnet regitlint -s $env:SOLUTION_FILE --print-command --skip-tool-check --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN --fail-on-diff --print-diff
publish:
timeout-minutes: 60
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 0ff1bb17be..35c8171615 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -28,6 +28,7 @@ jobs:
dotnet-version: |
8.0.*
9.0.*
+ 10.0.*
- name: Git checkout
uses: actions/checkout@v5
- name: Initialize CodeQL
diff --git a/.github/workflows/qodana.yml b/.github/workflows/qodana.yml
index 6a91aebccc..83405f8027 100644
--- a/.github/workflows/qodana.yml
+++ b/.github/workflows/qodana.yml
@@ -27,6 +27,7 @@ jobs:
dotnet-version: |
8.0.*
9.0.*
+ 10.0.*
- name: Git checkout
uses: actions/checkout@v5
with:
diff --git a/.gitignore b/.gitignore
index c1757fc159..85bd0f1080 100644
--- a/.gitignore
+++ b/.gitignore
@@ -423,6 +423,3 @@ FodyWeavers.xsd
**/.idea/**/httpRequests/
**/.idea/**/dataSources/
!**/.idea/**/codeStyles/*
-
-# Workaround for https://github.com/microsoft/kiota/issues/4228
-kiota-lock.json
diff --git a/Build.ps1 b/Build.ps1
index 1c369bd1af..d1df98608d 100644
--- a/Build.ps1
+++ b/Build.ps1
@@ -1,8 +1,6 @@
-function VerifySuccessExitCode {
- if ($LastExitCode -ne 0) {
- throw "Command failed with exit code $LastExitCode."
- }
-}
+#Requires -Version 7.4
+$ErrorActionPreference = "Stop"
+$PSNativeCommandUseErrorActionPreference = $true
Write-Host "$(pwsh --version)"
Write-Host ".NET SDK $(dotnet --version)"
@@ -11,16 +9,7 @@ Remove-Item -Recurse -Force artifacts -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force * -Include coverage.cobertura.xml
dotnet tool restore
-VerifySuccessExitCode
-
dotnet build --configuration Release
-VerifySuccessExitCode
-
dotnet test --no-build --configuration Release --verbosity quiet --collect:"XPlat Code Coverage"
-VerifySuccessExitCode
-
dotnet reportgenerator -reports:**\coverage.cobertura.xml -targetdir:artifacts\coverage -filefilters:-*.g.cs
-VerifySuccessExitCode
-
dotnet pack --no-build --configuration Release --output artifacts/packages
-VerifySuccessExitCode
diff --git a/Directory.Build.props b/Directory.Build.props
index e5323c6c76..b02e5aea7e 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -12,7 +12,16 @@
5.9.2
pre
7
- direct
+
+
+
+
+
+ $(NoWarn);NU1608
+
diff --git a/Directory.Build.targets b/Directory.Build.targets
new file mode 100644
index 0000000000..61e668c6b9
--- /dev/null
+++ b/Directory.Build.targets
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/JsonApiDotNetCore.sln.DotSettings b/JsonApiDotNetCore.sln.DotSettings
index 3576ab2bd8..e340302b69 100644
--- a/JsonApiDotNetCore.sln.DotSettings
+++ b/JsonApiDotNetCore.sln.DotSettings
@@ -72,8 +72,10 @@
WARNING
SUGGESTION
SUGGESTION
+ WARNING
SUGGESTION
WARNING
+ WARNING
DO_NOT_SHOW
WARNING
WARNING
diff --git a/README.md b/README.md
index d9719db341..b15b2dc5cc 100644
--- a/README.md
+++ b/README.md
@@ -219,23 +219,17 @@ The following links explain what this project provides, why it exists, and how y
The following chart should help you pick the best version, based on your environment.
See also our [versioning policy](./VERSIONING_POLICY.md).
-| JsonApiDotNetCore | Status | .NET | Entity Framework Core |
-| ----------------- | ------------ | -------- | --------------------- |
-| master | Preview | 9 | 9 |
-| | | 8 | 8, 9 |
-| 5.7.0+ | Stable | 9 | 9 |
-| | | 8 | 8, 9 |
-| 5.5.0-5.6.0 | Stable | 9 | 9 |
-| | | 8 | 8, 9 |
-| | | 7 | 7 |
-| | | 6 | 6, 7 |
-| 5.0.3-5.4.0 | Stable | 7 | 7 |
-| | | 6 | 6, 7 |
-| 5.0.0-5.0.2 | Stable | 6 | 6 |
-| 4.x | Stable | 6 | 5 |
-| | | 5 | 5 |
-| | | Core 3.1 | 3.1, 5 |
-| 3.x | Stable | Core 2.x | 2.x |
+| .NET | Entity Framework Core | JsonApiDotNetCore | Status |
+| -------- | --------------------- | ----------------- | -------------- |
+| 10 | 10 | master | Preview |
+| 9 | 9 | 5.5.0+ | Stable |
+| 8 | 8, 9 | 5.5.0+ | Stable |
+| 7 | 7 | 5.0.3 - 5.6.0 | Out of support |
+| 6 | 7 | 5.0.3 - 5.6.0 | Out of support |
+| 6 | 6 | 5.0.0 - 5.6.0 | Out of support |
+| 5 | 5 | 4.x | Out of support |
+| Core 3.1 | 3.1, 5 | 4.x | Out of support |
+| Core 2.x | 2.x | 3.x | Out of support |
## Trying out the latest build
diff --git a/benchmarks/Benchmarks.csproj b/benchmarks/Benchmarks.csproj
index 90d53461d2..6bd78a5cdd 100644
--- a/benchmarks/Benchmarks.csproj
+++ b/benchmarks/Benchmarks.csproj
@@ -1,7 +1,7 @@
Exe
- net9.0
+ net10.0
true
diff --git a/cleanupcode.ps1 b/cleanupcode.ps1
index b35d1cb215..9890b85e64 100644
--- a/cleanupcode.ps1
+++ b/cleanupcode.ps1
@@ -1,4 +1,4 @@
-#Requires -Version 7.0
+#Requires -Version 7.4
# This script reformats (part of) the codebase to make it compliant with our coding guidelines.
@@ -7,38 +7,31 @@ param(
[string] $revision
)
-function VerifySuccessExitCode {
- if ($LastExitCode -ne 0) {
- throw "Command failed with exit code $LastExitCode."
- }
-}
+$ErrorActionPreference = "Stop"
+$PSNativeCommandUseErrorActionPreference = $true
dotnet tool restore
-VerifySuccessExitCode
-
dotnet restore
-VerifySuccessExitCode
+
+$solutionFile = 'JsonApiDotNetCore.sln'
if ($revision) {
$headCommitHash = git rev-parse HEAD
- VerifySuccessExitCode
-
$baseCommitHash = git rev-parse $revision
- VerifySuccessExitCode
if ($baseCommitHash -eq $headCommitHash) {
Write-Output "Running code cleanup on staged/unstaged files."
- dotnet regitlint -s JsonApiDotNetCore.sln --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN -f staged,modified
- VerifySuccessExitCode
+ dotnet jb cleanupcode --version
+ dotnet regitlint -s $solutionFile --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN -f staged,modified
}
else {
Write-Output "Running code cleanup on commit range $baseCommitHash..$headCommitHash, including staged/unstaged files."
- dotnet regitlint -s JsonApiDotNetCore.sln --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN -f staged,modified,commits -a $headCommitHash -b $baseCommitHash
- VerifySuccessExitCode
+ dotnet jb cleanupcode --version
+ dotnet regitlint -s $solutionFile --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN -f staged,modified,commits -a $headCommitHash -b $baseCommitHash
}
}
else {
Write-Output "Running code cleanup on all files."
- dotnet regitlint -s JsonApiDotNetCore.sln --print-command --skip-tool-check --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN
- VerifySuccessExitCode
+ dotnet jb cleanupcode --version
+ dotnet regitlint -s $solutionFile --print-command --skip-tool-check --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN
}
diff --git a/docs/.gitignore b/docs/.gitignore
index d69ba1a98f..a55a9b60da 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -3,3 +3,4 @@ api/*.yml
api/.manifest
request-examples/*.json
request-examples/*.temp
+docfx-net10-binaries/
diff --git a/docs/build-dev.ps1 b/docs/build-dev.ps1
index 5072111dd6..131f403e8e 100644
--- a/docs/build-dev.ps1
+++ b/docs/build-dev.ps1
@@ -1,17 +1,27 @@
-#Requires -Version 7.3
+#Requires -Version 7.4
# This script builds the documentation website, starts a web server and opens the site in your browser. Intended for local development.
param(
# Specify -NoBuild to skip code build and examples generation. This runs faster, so handy when only editing Markdown files.
- [switch] $NoBuild=$False,
- # Specify -NoOpen to skip opening the documentation website in a web browser.
- [switch] $NoOpen=$False
+ [switch] $NoBuild=$false,
+ # Specify -NoOpen to skip opening the documentation website in a web browser (still starts the web server).
+ [switch] $NoOpen=$false
)
-function VerifySuccessExitCode {
- if ($LastExitCode -ne 0) {
- throw "Command failed with exit code $LastExitCode."
+$ErrorActionPreference = "Stop"
+$PSNativeCommandUseErrorActionPreference = $true
+
+# Workaround for bug at https://github.com/PowerShell/PowerShell/issues/23875#issuecomment-2672336383
+$PSDefaultParameterValues['Remove-Item:ProgressAction'] = 'SilentlyContinue'
+
+function EnsureDocfxBinaries() {
+ # Temporary workaround until a proper DocFX build supporting .NET 10 is available.
+ $zipFile = [IO.Path]::Combine($env:TEMP, 'docfx-net10-binaries.zip')
+
+ if (!(Test-Path -Path 'docfx-net10-binaries')) {
+ Invoke-WebRequest -Uri 'https://github.com/json-api-dotnet/docfx/raw/refs/heads/dotnet10-rtm/net10-binaries.zip' -Method 'GET' -OutFile $zipFile
+ Expand-Archive $zipFile -Force
}
}
@@ -20,34 +30,46 @@ function EnsureHttpServerIsInstalled {
throw "Unable to find npm in your PATH. please install Node.js first."
}
- # If this command fails with ENOENT after installing Node.js on Windows, manually create the directory %APPDATA%\npm.
- npm list --depth 1 --global httpserver >$null
+ $global:hasHttpServerInstalled = $true
+
+ & {
+ $PSNativeCommandUseErrorActionPreference = $false
+
+ # Workaround for error ENOENT returned from npm list, after installing Node.js on Windows.
+ # See https://stackoverflow.com/questions/25093276/node-js-windows-error-enoent-stat-c-users-rt-appdata-roaming-npm
+ if ($IsWindows) {
+ New-Item -ItemType Directory -Force -Path $env:APPDATA\npm >$null
+ }
- if ($LastExitCode -eq 1) {
+ npm list --depth 1 --global httpserver >$null
+
+ if ($LastExitCode -eq 1) {
+ Write-Host "httpserver not found."
+ $global:hasHttpServerInstalled = $false
+ }
+ }
+
+ if ($global:hasHttpServerInstalled -eq $false) {
+ Write-Host "Installing httpserver."
npm install -g httpserver
}
}
+EnsureDocfxBinaries
EnsureHttpServerIsInstalled
-VerifySuccessExitCode
if (-Not $NoBuild -Or -Not (Test-Path -Path _site)) {
Remove-Item _site\* -Recurse -ErrorAction Ignore
-
- dotnet build .. --configuration Release
- VerifySuccessExitCode
-
+ dotnet build .. --configuration Release /p:RunAnalyzers=false
Invoke-Expression ./generate-examples.ps1
} else {
Remove-Item _site\* -Recurse -ErrorAction Ignore
}
dotnet tool restore
-VerifySuccessExitCode
$env:DOCFX_SOURCE_BRANCH_NAME="dev"
-dotnet docfx ./docfx.json --warningsAsErrors true
-VerifySuccessExitCode
+dotnet exec docfx-net10-binaries/docfx.dll -- docfx.json --warningsAsErrors true
Copy-Item -Force home/*.html _site/
Copy-Item -Force home/*.ico _site/
@@ -63,7 +85,7 @@ if (-Not $NoOpen) {
}
Write-Host ""
-Write-Host "Web server started. Press Enter to close."
+Write-Host "Web server started. Site is available at http://localhost:8080. Press Enter to stop web server."
$key = [Console]::ReadKey()
Stop-Job -Id $webServerJob.Id
diff --git a/docs/generate-examples.ps1 b/docs/generate-examples.ps1
index ea6b2bd8f2..59094ee7c4 100644
--- a/docs/generate-examples.ps1
+++ b/docs/generate-examples.ps1
@@ -1,4 +1,6 @@
-#Requires -Version 7.3
+#Requires -Version 7.4
+$ErrorActionPreference = "Stop"
+$PSNativeCommandUseErrorActionPreference = $false
# This script generates HTTP response files (*.json) for .ps1 files in ./request-examples
@@ -34,7 +36,7 @@ function Start-WebServer {
Write-Output "Starting web server"
$startTimeUtc = Get-Date -AsUTC
$job = Start-Job -ScriptBlock {
- dotnet run --project ..\src\Examples\GettingStarted\GettingStarted.csproj --framework net8.0 --configuration Debug --property:TreatWarningsAsErrors=True --urls=http://0.0.0.0:14141
+ dotnet run --project ../src/Examples/GettingStarted/GettingStarted.csproj --framework net10.0 --configuration Debug --property:TreatWarningsAsErrors=True --urls=http://0.0.0.0:14141
}
$webProcessId = $null
diff --git a/inspectcode.ps1 b/inspectcode.ps1
index 21e96eac67..d9be980b7f 100644
--- a/inspectcode.ps1
+++ b/inspectcode.ps1
@@ -1,20 +1,17 @@
-#Requires -Version 7.0
+#Requires -Version 7.4
+$ErrorActionPreference = "Stop"
+$PSNativeCommandUseErrorActionPreference = $true
# This script runs code inspection and opens the results in a web browser.
dotnet tool restore
-if ($LastExitCode -ne 0) {
- throw "Tool restore failed with exit code $LastExitCode"
-}
-
+$solutionFile = 'JsonApiDotNetCore.sln'
$outputPath = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), 'jetbrains-inspectcode-results.xml')
$resultPath = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), 'jetbrains-inspectcode-results.html')
-dotnet jb inspectcode JsonApiDotNetCore.sln --dotnetcoresdk=$(dotnet --version) --build --output="$outputPath" --format="xml" --profile=WarningSeverities.DotSettings --properties:Configuration=Release --properties:RunAnalyzers=false --severity=WARNING --verbosity=WARN -dsl=GlobalAll -dsl=GlobalPerProduct -dsl=SolutionPersonal -dsl=ProjectPersonal
-if ($LastExitCode -ne 0) {
- throw "Code inspection failed with exit code $LastExitCode"
-}
+dotnet jb inspectcode --version
+dotnet jb inspectcode $solutionFile --dotnetcoresdk=$(dotnet --version) --build --output="$outputPath" --format="xml" --profile=WarningSeverities.DotSettings --properties:Configuration=Release --properties:RunAnalyzers=false --severity=WARNING --verbosity=WARN -dsl=GlobalAll -dsl=GlobalPerProduct -dsl=SolutionPersonal -dsl=ProjectPersonal
[xml]$xml = Get-Content "$outputPath"
if ($xml.report.Issues -and $xml.report.Issues.Project) {
diff --git a/package-versions.props b/package-versions.props
index a4fa94ce08..eb57740bd9 100644
--- a/package-versions.props
+++ b/package-versions.props
@@ -5,7 +5,7 @@
0.4.1
2.14.1
13.0.4
- 9.0.6
+ 10.0.1
4.3.1
@@ -13,28 +13,40 @@
0.15.*
1.0.*
35.6.*
- 4.14.*
+ 5.0.*
6.0.*
2.1.*
7.2.*
2.4.*
2.0.*
1.*
- 9.0.*
- 9.0.*
+ 10.0.*
0.9.*
14.6.*
13.0.*
- 8.9.*
+ 9.1.*
4.1.*
- 2.9.*
- 9.*-*
- 9.0.*
+ 2.11.*
+ 10.*-*
+ 10.0.*
18.0.*
2.9.*
3.1.*
+
+
+ 10.0.0
+
+
+ 10.0.*
+ 10.0.*-*
+
+
+ 9.0.*
+
+
+
N/A
@@ -42,6 +54,7 @@
9.0.*
9.0.*
+ $(EntityFrameworkCoreVersion)
@@ -51,5 +64,6 @@
8.0.*
8.0.*
+ $(EntityFrameworkCoreVersion)
diff --git a/run-docker-postgres.ps1 b/run-docker-postgres.ps1
index 25b631a7ad..9474758fa0 100644
--- a/run-docker-postgres.ps1
+++ b/run-docker-postgres.ps1
@@ -5,7 +5,7 @@
# To connect to pgAdmin, open http://localhost:5050 and login with user "admin@admin.com", password "postgres". Use hostname "db" when registering the server.
param(
- [switch] $UI=$False
+ [switch] $UI=$false
)
docker container stop jsonapi-postgresql-db
diff --git a/src/Examples/DapperExample/DapperExample.csproj b/src/Examples/DapperExample/DapperExample.csproj
index 0685dc0343..f34631b4a8 100644
--- a/src/Examples/DapperExample/DapperExample.csproj
+++ b/src/Examples/DapperExample/DapperExample.csproj
@@ -1,6 +1,6 @@
-
+
- net9.0;net8.0
+ net10.0;net9.0;net8.0
@@ -13,9 +13,9 @@
-
+
-
+
diff --git a/src/Examples/DapperExample/TranslationToSql/TreeNodes/TableSourceNode.cs b/src/Examples/DapperExample/TranslationToSql/TreeNodes/TableSourceNode.cs
index 62ff5ad3ef..4b0fa2d5b5 100644
--- a/src/Examples/DapperExample/TranslationToSql/TreeNodes/TableSourceNode.cs
+++ b/src/Examples/DapperExample/TranslationToSql/TreeNodes/TableSourceNode.cs
@@ -7,7 +7,7 @@ namespace DapperExample.TranslationToSql.TreeNodes;
///
internal abstract class TableSourceNode(string? alias) : SqlTreeNode
{
- public const string IdColumnName = nameof(Identifiable