Merged feature dapper integration to main branch#4
Closed
peterjohncasasola wants to merge 9 commits into
Closed
Conversation
… semantics - Implemented polymorphic ISqlDialect system supporting SQL Server, PostgreSQL, MySQL, MariaDB, SQLite, and Oracle. - Introduced ISqlDialectResolver for automatic dialect detection based on DbConnection types. - Refactored SqlTranslator to use dialect abstraction and specialized relationship translators. - Implemented relationship query semantics (Any, All, Count, Filtered Includes) with EF Core parity. - Enhanced mapping infrastructure (JoinInfo/EntityMapping) with TargetType support. - Updated project to multi-target .NET 6.0/7.0/8.0 and added NuGet metadata. - Integrated global dialect configuration via DapperQueryOptions. - Expanded test suite with 340+ passing tests covering all dialects and relationship scenarios. - Updated README with comprehensive Dapper integration and dialect configuration guides.
- Fix `SqlTranslator` to explicitly project GroupBy columns for correct SQL generation. - Synchronize unit test assertions with improved typed parameter conversion logic. - Resolve syntax errors and model alignment issues in the integration test suite. - Achieve 100% pass rate (365/365) across the full solution. - Consolidate all Dapper-related fixes and features into the v3.0.0 release notes.
…est suite - Rewrote SqlCountTranslator with clean source, using GetRelationship and IMappingRegistry. - Added missing Mapping.Metadata using directives to SqlExistsTranslator and SqlIncludeTranslator. - Cleaned up redundant Metadata. prefixes in SqlIncludeTranslator and SqlExistsTranslator. - Updated SqlTranslatorTests: * Registered TestRole entity (Table "roles") and corrected assertions to match new quoted SQL (e.g., "[roles].[UserId] = [users].[Id]"). - Fixed SqlInjectionTests navigation‑property assertion to use "[TestEntities]" (convention‑based table name). - Adjusted BuildJoinCondition string interpolation for proper `$` syntax. - All 365 tests now pass.
…package - Create FlexQuery.NET.MiniOData as a separate, optional package with zero provider dependencies (references Core only). - Implement ODataTokenizer for OData filter expression lexing with support for string literals, number literals, identifiers, and structural characters. - Implement ODataFilterParser converting OData $filter syntax into the unified FlexQuery FilterGroup AST: binary comparisons (eq/ne/gt/ge/ lt/le), function calls (contains/startswith/endswith), logical operators (and/or/not), grouping, null checks, IN lists, and lambda navigation (any/all). - Implement MiniODataQueryParser parsing all OData query parameters ($filter, $orderby, $select, $top, $skip, $expand, $count) into QueryOptions with automatic $-prefix stripping and slash-to-dot path conversion. - Add DI registration via services.AddFlexQueryMiniOData(). - Add 63 comprehensive tests: filter parser, query parser, and DSL↔OData AST equivalence tests proving semantic parity. - Update solution file to include MiniOData and Dapper projects. - Update CHANGELOG.md with MiniOData package details under v3.0.0. - All 428 tests passing (365 existing + 63 new).
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.