Skip to content

Conversation

@baoduy
Copy link
Owner

@baoduy baoduy commented Nov 20, 2025

No description provided.

baoduy and others added 30 commits October 7, 2025 02:20
Add primary Keys into AuditLogEntry
Allows to exclude entities and properties from AuditLog
Add Code Dto generator
Fix the source generation issues
Fixed the DTO generations
fix the nameof() syntax
update and fix bugs for the Dtogeneration
enhance the DtoGenerator
Add Hook disabling functionality
fix data seeding issues
Enhance the Dtogeneration
Enhance the repository
Add feature allows to exclude the properties from project configuration
Improve DtoGeneration with IgnoreComplextTypes option
Simplify the EfCore.Extensions
simplify and enhancements and add memory bank
Add EfCore.Encryption
release some enhancement
Enhance Specification
baoduy and others added 22 commits November 3, 2025 10:58
enhance to support the value type comparison
enhance the azure storage setup
FIX order direction issues
improve Dynamic Ef Query
fix AutoSeeding issues
The last version support .NET9
support in and not in operations
Copilot AI review requested due to automatic review settings November 20, 2025 02:32
@baoduy baoduy merged commit 7593019 into dev Nov 20, 2025
4 of 5 checks passed
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the documentation across the DKNet Framework to reflect the migration from .NET 9.0 to .NET 10.0, along with the corresponding upgrade from C# 13 to C# 14 language features. The update ensures consistency across all documentation files, memory bank context files, and configuration guides.

Key Changes

  • Updated all version references from .NET 9.0/C# 13 to .NET 10.0/C# 14 across documentation
  • Added C# 14 language features documentation with code examples
  • Updated IDE version requirements (Visual Studio 2022 17.13+) and Docker base images
  • Updated configuration metadata and build workflow specifications

Reviewed Changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/memory-bank/techContext.md Updated technology stack to .NET 10/C# 14, added C# 14 features list
src/memory-bank/memory-bank-instructions.md Updated tech context reference from .NET 9 to .NET 10
src/memory-bank/UPDATE_SUMMARY.md Updated version references in tech context expansion section
src/memory-bank/README.md Updated technology stack summary to .NET 10/C# 14
src/memory-bank/MEMORY_BANK_COMPLETE.md Updated technical context version references
src/memory-bank/AI_IMPROVEMENTS_SUMMARY.md Updated technology stack section to .NET 10/C# 14
src/CONFIGURATION_SUMMARY.md Updated metadata: last updated date and configuration version
issues/1.md Added new feature request for DTO generator (has formatting issues)
docs/Services/DKNet.Svc.PdfGenerators.md Updated target framework from .NET 9.0 to .NET 10.0
docs/Migration-Guide.md Updated migration guide with .NET 10 upgrade steps and C# 14 examples (has Lock type issue)
docs/Getting-Started.md Updated prerequisites and added C# 14 features section
docs/FAQ.md Updated version requirement to .NET 10.0
docs/Contributing.md Updated prerequisites and IDE requirements for .NET 10.0
docs/Configuration.md Updated Docker base images and SDK install commands
docs/CHANGELOG.md Updated version references to .NET 10.0 with C# 14 features
README.md Updated .NET badge from 9.0 to 10.0
.trae/rules/project_rules.md Updated coding standards to .NET 10 conventions
.github/workflows/dotnet-publish.yml Fixed syntax (removed unnecessary comma)
.github/copilot-instructions.md Updated supported platforms to .NET 10.0+

};

// Lock object improvements - better performance
private readonly Lock _lock = new();
Copy link

Copilot AI Nov 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Lock type shown in this example is not a standard .NET type as of C# 14/.NET 10. The standard locking mechanism in C# uses object as the lock target (e.g., private readonly object _lock = new();).

Consider using the correct locking pattern:

private readonly object _lock = new();

public void SafeOperation()
{
    lock (_lock)
    {
        // Thread-safe operations
    }
}

Alternatively, if referring to a specific new API, provide more context or import statements to clarify.

Suggested change
private readonly Lock _lock = new();
private readonly object _lock = new();

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,2 @@
### Description
Enhance the `GenerateDto` attribute in the `DKNet.EfCore.DtoGenerator` to include a new flag named `IgnoreComplexType`.\n\n### Feature Details\n- **Flag Name**: `IgnoreComplexType`\n- **Functionality**: When this flag is set to `true`, the following properties should be automatically ignored during DTO generation:\n - Properties that link to other entities (usually represented as classes without the `Owned` attribute).\n - Both collection properties and single entity properties that fit the above criteria.\n\n### Benefits\n- Provides more granular control over DTO generation.\n- Simplifies the exclusion of complex types from generated DTOs.\n\n### Acceptance Criteria\n- Add a `IgnoreComplexType` flag to the `GenerateDto` attribute.\n- Implement logic to automatically ignore complex types (as described above) when the flag is set to `true`.\n- Ensure the feature is covered by unit tests to validate its behavior.\n\n### References\n- Repository: [DKNet.EfCore.DtoGenerator](https://github.com/baoduy/DKNet) No newline at end of file
Copy link

Copilot AI Nov 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The markdown content contains literal \n\n escape sequences instead of actual line breaks. This will render as plain text with visible escape characters rather than formatted markdown.

The content should be properly formatted with actual line breaks:

### Description
Enhance the `GenerateDto` attribute in the `DKNet.EfCore.DtoGenerator` to include a new flag named `IgnoreComplexType`.

### Feature Details
- **Flag Name**: `IgnoreComplexType`
- **Functionality**: When this flag is set to `true`, the following properties should be automatically ignored during DTO generation:
  - Properties that link to other entities (usually represented as classes without the `Owned` attribute).
  - Both collection properties and single entity properties that fit the above criteria.

### Benefits
- Provides more granular control over DTO generation.
- Simplifies the exclusion of complex types from generated DTOs.

### Acceptance Criteria
- Add a `IgnoreComplexType` flag to the `GenerateDto` attribute.
- Implement logic to automatically ignore complex types (as described above) when the flag is set to `true`.
- Ensure the feature is covered by unit tests to validate its behavior.

### References
- Repository: [DKNet.EfCore.DtoGenerator](https://github.com/baoduy/DKNet)
Suggested change
Enhance the `GenerateDto` attribute in the `DKNet.EfCore.DtoGenerator` to include a new flag named `IgnoreComplexType`.\n\n### Feature Details\n- **Flag Name**: `IgnoreComplexType`\n- **Functionality**: When this flag is set to `true`, the following properties should be automatically ignored during DTO generation:\n - Properties that link to other entities (usually represented as classes without the `Owned` attribute).\n - Both collection properties and single entity properties that fit the above criteria.\n\n### Benefits\n- Provides more granular control over DTO generation.\n- Simplifies the exclusion of complex types from generated DTOs.\n\n### Acceptance Criteria\n- Add a `IgnoreComplexType` flag to the `GenerateDto` attribute.\n- Implement logic to automatically ignore complex types (as described above) when the flag is set to `true`.\n- Ensure the feature is covered by unit tests to validate its behavior.\n\n### References\n- Repository: [DKNet.EfCore.DtoGenerator](https://github.com/baoduy/DKNet)
Enhance the `GenerateDto` attribute in the `DKNet.EfCore.DtoGenerator` to include a new flag named `IgnoreComplexType`.
### Feature Details
- **Flag Name**: `IgnoreComplexType`
- **Functionality**: When this flag is set to `true`, the following properties should be automatically ignored during DTO generation:
- Properties that link to other entities (usually represented as classes without the `Owned` attribute).
- Both collection properties and single entity properties that fit the above criteria.
### Benefits
- Provides more granular control over DTO generation.
- Simplifies the exclusion of complex types from generated DTOs.
### Acceptance Criteria
- Add a `IgnoreComplexType` flag to the `GenerateDto` attribute.
- Implement logic to automatically ignore complex types (as described above) when the flag is set to `true`.
- Ensure the feature is covered by unit tests to validate its behavior.
### References
- Repository: [DKNet.EfCore.DtoGenerator](https://github.com/baoduy/DKNet)

Copilot uses AI. Check for mistakes.
@codecov
Copy link

codecov bot commented Nov 20, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.85%. Comparing base (838c1bd) to head (c75f2ee).
⚠️ Report is 54 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev     #251      +/-   ##
==========================================
- Coverage   84.91%   84.85%   -0.07%     
==========================================
  Files         138      138              
  Lines        2984     2984              
  Branches      526      526              
==========================================
- Hits         2534     2532       -2     
- Misses        321      322       +1     
- Partials      129      130       +1     
Flag Coverage Δ
unittests 84.85% <ø> (-0.07%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link

📊 Code Coverage Report

| Metric | Coverage |
|--------|----------|
| **Line Coverage** | 87.8% |
| **Branch Coverage** | 82.9% |
| **Method Coverage** | 86.3% |

**Lines:** 2621/undefined covered
**Branches:** 1155/undefined covered

📈 [View Full Coverage Report](https://github.com/baoduy/DKNet/actions/runs/19523444023)

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants