Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
387 commits
Select commit Hold shift + click to select a range
035300f
More nullability enabled. DbConnectionExtension done
rhuijben Apr 4, 2025
6a732d9
Merge pull request #4 from rhuijben/feat/improve-nullability2
rhuijben Apr 4, 2025
9c4e7c7
Add initial version of roslyn analyzer to catch bad usages
rhuijben May 2, 2025
96ebc69
Skip fetching fields for impossible tablenames
rhuijben May 3, 2025
74c130b
Add basic support for using tuples in ExecuteQuery<>
rhuijben May 6, 2025
7a78767
Add comment
rhuijben May 6, 2025
3dbf44c
Resolve some warnings. Probably introduce a few new ones
rhuijben May 7, 2025
c9439d0
Use proper function argument to get tablename on InsertAll
rhuijben May 7, 2025
b76dbd4
Fix more fetch tablename calls
rhuijben May 7, 2025
88d673f
Restore old name, with all callers now using new exception handling
rhuijben May 7, 2025
d1e3cd6
Fix null handling helpers
rhuijben May 7, 2025
e67d2bd
Update README
rhuijben May 7, 2025
4bdd8c4
Update README.md
rhuijben May 7, 2025
40d3766
Fix nuget url
rhuijben May 7, 2025
16679b5
Update README.md
rhuijben May 7, 2025
b9d1d87
Update README.md
rhuijben May 7, 2025
63c355a
Update build.yml
rhuijben May 7, 2025
2f52ac2
Use 3 digits of buildnumber
rhuijben May 7, 2025
f5e9376
Update Code of conduct to most recent version
rhuijben May 15, 2025
95c39e4
Improve error message on using unset nullable value on Insert to prov…
rhuijben May 15, 2025
3bfbaf4
Generalize support for fetching existing tables and views
rhuijben May 15, 2025
2928c79
Fix undefined behavior of using a boolean property as direct evaluate…
rhuijben May 15, 2025
6bd413e
Improve some expression checks for nullability
rhuijben May 15, 2025
b68574b
Remove outdated scripts
rhuijben May 21, 2025
208b08b
Update some packages
rhuijben May 21, 2025
9d3134b
Cleanup primary key, vs identity handling on InsertAll
rhuijben May 21, 2025
233f89c
Let's assume dbfield names are normalized
rhuijben May 22, 2025
36c1c7e
Remove creation of unused db parameter on IS NULL and IS NOT NULL
rhuijben May 22, 2025
54824ac
Provide some plumbing towards adding a RepoDb.Oracle implementation
rhuijben May 23, 2025
641d664
More error improving and oracle preparations
rhuijben May 23, 2025
e4b3873
Start building a bit of Oracle support
rhuijben May 23, 2025
65dd9d4
Enable basic oracle support. Mark some npgsql features deprecated
rhuijben May 23, 2025
af2c0a4
Allow CountAsync without arguments
rhuijben May 23, 2025
361fbe7
Move some helpers to baseclass
rhuijben May 23, 2025
598acc4
Fix helper test to mock standard base type
rhuijben May 23, 2025
4169ba5
Fix some more test assumptions
rhuijben May 23, 2025
498b0cf
Fix more tests based on custom db types
rhuijben May 23, 2025
e073437
Minor cleanup in Oracle statement builder
rhuijben May 23, 2025
7e6e0bb
Implement Oracle sql.Exists<> support
rhuijben May 23, 2025
19a87ce
Add Oracle Merge<>
rhuijben May 23, 2025
e1811cb
Handle not able to map tablename
rhuijben May 23, 2025
b0f5ec9
Disable new test for mysql
rhuijben May 23, 2025
b57016a
Another round of nullable fixes
rhuijben May 23, 2025
f1a1b15
Add some missing oracle mappings
rhuijben May 23, 2025
6528324
Update README files to point towards modern initialization
rhuijben May 23, 2025
f03e224
Update shields in readme-s.
rhuijben May 26, 2025
f7d0a00
Update project urls in nuget/project files
rhuijben May 26, 2025
3b4aa3f
Improve current user schema handling for Oracle. Map as null schema *…
rhuijben May 26, 2025
b106633
More readme fixes
rhuijben May 26, 2025
f59d4a9
Fix Oracle insert identity fetch
rhuijben May 26, 2025
e3b7e4c
More readme tweaks
rhuijben May 26, 2025
735fab9
More hyperlink fixes
rhuijben May 26, 2025
ca669fc
Implement optimized InsertAll for Oracle
rhuijben May 26, 2025
e2bf350
Add more compatibility with newer .Net
rhuijben May 28, 2025
c3913ef
Fix .Net 4.8 enum issue in Converter
rhuijben May 28, 2025
780b7c0
More nullability
rhuijben May 28, 2025
742fa2b
Remove some unneeded builder.Clear() calls
rhuijben May 28, 2025
0a75ec1
More cleanup
rhuijben May 28, 2025
e2a80d9
More cleanup
rhuijben May 28, 2025
0a09a92
More unneeded work removed
rhuijben May 28, 2025
0c857b2
Update for changed behavior via Assign expression
rhuijben May 28, 2025
41c096c
Update statement builder api to properly handle multi-column primary …
rhuijben May 28, 2025
5dd5ebd
Always use OUTPUT on SqlServer insert to avoid having to cast
rhuijben May 28, 2025
f54803c
Apply similar optimization to Sqlite
rhuijben May 28, 2025
351633b
Optimize MergeAll and InsertAll for sqlserver. Cleanup statements and…
rhuijben May 30, 2025
e906827
Update statement builder cleanup for whitespace + Insert + Merge on m…
rhuijben May 31, 2025
7a614ab
Resolve AsFields() on DbField collection going in recursive error
rhuijben May 31, 2025
562a82b
Handle combination of with and without position column
rhuijben May 31, 2025
73c846a
Tweak optimal chunking code a bit
rhuijben Jun 1, 2025
cd722e9
Return expected keyvalue from insert even when not getting it from da…
rhuijben Jun 2, 2025
b040071
Update statement builders. Implement merge for Sqlite. Improve *All()…
rhuijben Jun 2, 2025
d2e558e
Revert removal of upsert for System.Data.Sqlite to work around ado is…
rhuijben Jun 2, 2025
bea7305
Optimize UpdateAll for SqlServer as well
rhuijben Jun 3, 2025
991b880
Remove some leftovers
rhuijben Jun 3, 2025
0268e49
Provide optimized UpdateAll for PostgreSql
rhuijben Jun 3, 2025
d966b93
Prepare commands async from async users
rhuijben Jun 4, 2025
7477b9b
Fix broken qualifiers in very specific UpdateAll (broken since 6624ca…
rhuijben Jun 4, 2025
a917594
Update batchsize documentation using regex
rhuijben Jun 4, 2025
9616eb8
Npgsql integrationtests: use extension method to open database to all…
rhuijben Jun 4, 2025
64c3c6a
Add generic variants for a few helper methods
rhuijben Jun 4, 2025
11b8753
Cleanup a bit of the new code
rhuijben Jun 4, 2025
da4ba70
Update npgsql version
rhuijben Jun 4, 2025
c781d9c
Fix CreateDbCommand in test code to follow contract
rhuijben Jun 4, 2025
29eb279
Resolve some issues in npgsql bulkinsert code for newer npgsql
rhuijben Jun 4, 2025
674b6ec
Tweak warning output
rhuijben Jun 4, 2025
5063a24
Update some dependencies in test projects
rhuijben Jun 4, 2025
56de2d3
Tweak nuget packaging a bit
rhuijben Jun 4, 2025
f3a568a
Prototype Table Valued Parameter support for SqlServer
rhuijben Jun 6, 2025
1825f02
Use SqlServer values in as intermediate fix for having join optimization
rhuijben Jun 6, 2025
5781e03
Remove stupid escaping in attributes once, instead of all the time
rhuijben Jun 6, 2025
ad1fe13
Improve TVP/Values support
rhuijben Jun 10, 2025
bb274a2
Improve some dbhelpers
rhuijben Jun 10, 2025
6a983b1
More code cleanup
rhuijben Jun 10, 2025
cad8242
Fix test assumptions around unnecessary quoting in mapping attributes
rhuijben Jun 10, 2025
233b57b
Fix Oracle version fetching
rhuijben Jun 10, 2025
3546985
Update README.md
rhuijben Jun 10, 2025
a1fd3a0
Use IGNORE_DUP_KEY on TVP types when set
rhuijben Jun 10, 2025
4fd27e9
Remove unneeded whitespace before EOL
rhuijben Jun 10, 2025
290539e
Update Merge statement generators to allow skipping some insert colum…
rhuijben Jun 15, 2025
f42c6d4
Sqlite consistency and bit of code-reuse. Add noUpdateFields to Merge()
rhuijben Jun 16, 2025
c5612f2
Add arguments to public merge functions
rhuijben Jun 16, 2025
ffcf40b
Complete feature to set fields not to update on merge
rhuijben Jun 17, 2025
f040a5d
Update mock result to expect proper merge calls
rhuijben Jun 17, 2025
1b946f1
Enable full nullability in RepoDb
rhuijben Jun 18, 2025
23e43dd
Restore nullability on helper of QueryMultiple
rhuijben Jun 18, 2025
84296b0
Build test case on some edge cases of MERGE and MERGE-ALL and fix iss…
rhuijben Jun 18, 2025
e61f0e4
Fix case sensitive path
rhuijben Jun 18, 2025
12818c3
More nullable fixes
rhuijben Jun 18, 2025
3282d11
Use license expression instead of file
rhuijben Jun 19, 2025
90e275d
Fix license expression
rhuijben Jun 19, 2025
3243c61
Make DbField extend field and always return typed sets of Field and D…
rhuijben Jun 20, 2025
135886e
Add a few missing null checks
rhuijben Jun 20, 2025
6cfa20d
Update expected results. Some checks moved to the caller of the state…
rhuijben Jun 20, 2025
8934306
Set base tracekey in more scenarios
rhuijben Jun 20, 2025
787875a
Default tracekey
rhuijben Jun 24, 2025
56dfb6a
Cleanup FieldName vs PropertyName
rhuijben Jun 24, 2025
a96d902
Resolve some cases where the wrong field vs property name were used
rhuijben Jun 24, 2025
b880ff7
Add equals to fieldset
rhuijben Jun 24, 2025
1fdc6ff
More FieldSet cleanup
rhuijben Jun 30, 2025
2848e5b
Support .Contains(x.Value) in expression where where x is nullable
rhuijben Jul 1, 2025
2af0686
Use some of the chunking/parameter optimizations from .DeleteAll()
rhuijben Jul 1, 2025
ffedf71
Pass transaction in testcase
rhuijben Jul 2, 2025
d2ff332
Pass exising field to QueryField when available
rhuijben Jul 2, 2025
cd2d62e
Pass field when we have one during expression parsing instead of crea…
rhuijben Jul 2, 2025
c21cdce
Fix several analyzer found easy issues
rhuijben Jul 2, 2025
ee183f8
Use passed type info in TVP processing to avoid unneeded work
rhuijben Jul 2, 2025
31cd2a4
Also use the VALUES IN optimization for .ExecuteQuery scenarios
rhuijben Jul 2, 2025
5e69736
Make sure TVP test also triggers non-TVP optimizations
rhuijben Jul 2, 2025
07c8478
Remove unneeded WHERE from custom query
rhuijben Jul 2, 2025
ad855dc
Fix new long?[] {1,2,null}.Contains() queries
rhuijben Jul 4, 2025
c5ec980
Apply some cheap style fixes
rhuijben Jul 4, 2025
7614d0b
Cleanup a dbsettings chain that doesn't make sense. Column names retu…
rhuijben Jul 4, 2025
76e0765
Rename variable to document usecase
rhuijben Jul 4, 2025
1881c30
More unused dbSetting removal
rhuijben Jul 4, 2025
8ce64fc
Avoid duplicated calls to GetHashCode()
rhuijben Jul 4, 2025
cab5f6c
Avoid duplicated calls to GetHashCode()
rhuijben Jul 4, 2025
5a42133
Resolve warnings
rhuijben Jul 4, 2025
48b701b
Simplify calls with new syntax
rhuijben Jul 4, 2025
a2ff15a
Set notnull on TClassHandler
rhuijben Jul 4, 2025
71e45f8
Remove most remaining analyzer and nullable warnings
rhuijben Jul 4, 2025
6edb057
More nullable and warning cleanups
rhuijben Jul 4, 2025
ab57aae
Update exception to make test happy, but keep argumentname removed to…
rhuijben Jul 4, 2025
8f1b429
More nullability fixes
rhuijben Jul 9, 2025
56e913f
Add missing update on doPrepare
rhuijben Jul 10, 2025
de3f263
Handle entities passed to InsertAll, UpdateAll and MergeAll as list t…
rhuijben Jul 10, 2025
7002959
Make DeleteAll safe as well
rhuijben Jul 10, 2025
c7749ce
Remove dead code path.
rhuijben Jul 10, 2025
04b083d
Use NET style argument checks via extension everything (part of .Net 10)
rhuijben Jul 16, 2025
1a07534
Handle .NET 10 style Contains in array
rhuijben Jul 16, 2025
3b852fc
Update assertions for not null, not ok string arguments
rhuijben Jul 16, 2025
502e837
Make DbType required when mapping
rhuijben Jul 16, 2025
7da6a16
Update some dependencies
rhuijben Jul 16, 2025
22f3f58
Fix argument names
rhuijben Jul 17, 2025
f00d98c
Modernize code. Mostly analyzer fixes
rhuijben Jul 17, 2025
28f60eb
Code cleanups on Core.IntegrationTests
rhuijben Jul 17, 2025
1f7af60
More analyzer fixes. Optimize code for unquoted tablenames
rhuijben Jul 17, 2025
9638465
Remove ForceAutomaticConversions flag. The one use is already default
rhuijben Jul 17, 2025
dfce8f3
Update README.md
rhuijben Jul 17, 2025
4ae0b17
More Cleanups
rhuijben Jul 17, 2025
e0391f8
Move Async suffix of functions last, to follow CLR guidelines
rhuijben Jul 17, 2025
fa6b50e
More analyzer fixes
rhuijben Jul 17, 2025
56107ee
More naming fixes
rhuijben Jul 17, 2025
ba56c47
Resolve many more analyzer issues
rhuijben Jul 17, 2025
9bb7a6b
Apply batch of ConfigureAwait calls
rhuijben Jul 17, 2025
36314c8
More ConfigureAwait()
rhuijben Jul 17, 2025
1d104b0
More cleanups
rhuijben Jul 17, 2025
fddb5e3
Cleanup more warnings
rhuijben Jul 17, 2025
bea7076
Fix tests on older .Net. Remove single primary helper
rhuijben Jul 17, 2025
2acadcc
More conversions to ThrowsExactly, etc.
rhuijben Jul 17, 2025
bcd4b1b
Fix more tests.
rhuijben Jul 17, 2025
3733aed
Use saner maximum number of parameters to avoid creating too much cod…
rhuijben Jul 18, 2025
883ad03
Convert remaining tests to use Assert.ThrowsExactly instead of attrib…
rhuijben Jul 18, 2025
189ce96
Reduce safety net for Sqlserver max nr of params to avoid performance…
rhuijben Jul 18, 2025
4430526
Remove unneeded null check that triggers unneeded null warnings.
rhuijben Jul 18, 2025
9c5c99d
Avoid unneeded boolean operations
rhuijben Jul 18, 2025
b413c9a
More code cleanups using modern analyzers
rhuijben Jul 18, 2025
4d41904
Resolve more warnings. Enable nullability for Postgresql too
rhuijben Jul 18, 2025
95e97d6
Update more links in README.md
rhuijben Jul 18, 2025
95877da
Update more URLs
rhuijben Jul 18, 2025
58451d2
Fix nullability issues for Postgresql
rhuijben Jul 18, 2025
e8639b9
Update test assumptions after removing unnecessary column renaming fr…
rhuijben Jul 18, 2025
ecede8f
Enable nullability in SqlServer.BulkOperations and resolve warnings (…
rhuijben Jul 18, 2025
81b995d
Continue nullability in Postgresql.BulkOperations
rhuijben Jul 18, 2025
2f2da86
Nullability for Sqlite.System
rhuijben Jul 18, 2025
fecb650
Enable nullability in the other main projects
rhuijben Jul 18, 2025
7309024
More markdown tweaks
rhuijben Jul 18, 2025
9a8b181
Update some dependencies. Restore netstandard2.0 support for RepoDb.S…
rhuijben Aug 4, 2025
31da484
Apply fixes from newer .NET analyzers
rhuijben Aug 4, 2025
abce6ee
Use more efficient lock and pass identity in npgl bulk in a way to av…
rhuijben Aug 4, 2025
2a4dad4
Pass identity from helper to handle not-null guarantee
rhuijben Aug 4, 2025
0f1fdc2
Restore old expression in testcase. Yes, can be simplified. But not s…
rhuijben Aug 4, 2025
10ae920
Bump development versions to 1.15
rhuijben Aug 4, 2025
4f72ca1
Checkpoint
rhuijben Aug 6, 2025
fc2a601
Extend testing helpers. Signal error on silent bad query generation
rhuijben Aug 6, 2025
003b537
Handle simple linq queries between two columns like `e => e.Ordered >…
rhuijben Aug 6, 2025
842b128
Fix tests + unused parameter
rhuijben Aug 6, 2025
24de0ac
Merge pull request #13 from rhuijben/feat/column-comparison
rhuijben Aug 6, 2025
09b46ff
Allow suppressing parameter creation in cleaner way
rhuijben Aug 6, 2025
abae697
Fix code style
rhuijben Aug 12, 2025
4c304c5
Handle NoParametersNeeded in one more place
rhuijben Aug 12, 2025
927f029
Use newer checkout action
rhuijben Aug 14, 2025
2e17cbf
Sqite: When merging with qualifiers not including the identity key, d…
rhuijben Aug 25, 2025
c09c157
Fix identity behavior on Merge[All] with qualifiers not including the…
rhuijben Aug 25, 2025
7957854
Tweak parameter behavior to be consistent between providers
rhuijben Sep 1, 2025
b78d3b4
Fix some edge cases for mysql
rhuijben Sep 1, 2025
274348a
Make mysql complete table more like that of other providers for the p…
rhuijben Sep 3, 2025
01e0f49
More tweaks to get merge on Id stable on mysql
rhuijben Sep 3, 2025
d37e34a
Update some packages
rhuijben Sep 3, 2025
fa5ce6b
Verify some null behavior on not-matched entities
rhuijben Sep 4, 2025
5b341e0
Speed up testing. Fix passing trace handler
rhuijben Oct 7, 2025
7e21af8
Add some helpers to ease using tracing. Don't update callers (yet)
rhuijben Oct 7, 2025
2a633e6
Switch to DotNet 10.0. Resolve some warnings. Update github actions t…
rhuijben Nov 30, 2025
1721597
Switch to DotNet 10.0. Resolve some warnings. Run tests with 9.0 to a…
rhuijben Nov 30, 2025
88a711e
Merge pull request #19 from rhuijben/build/net10
rhuijben Nov 30, 2025
1bfe270
Synchronize with what we use on GitHub
rhuijben Nov 30, 2025
84469d7
Bump NHibernate to resolve security issues
rhuijben Nov 30, 2025
0df5cc5
Merge pull request #21 from rhuijben/build/bump-NHibernate
rhuijben Nov 30, 2025
194f2e3
feat(Dependencies): Update test packages
FynZ Nov 30, 2025
314318d
fix warnings
FynZ Nov 30, 2025
78b33e3
test disable //
FynZ Nov 30, 2025
36f1062
move to previous parallelization setup
FynZ Nov 30, 2025
8adddb9
Merge pull request #18 from FynZ/fnz/test-packages-update
rhuijben Nov 30, 2025
a0cc7de
Hard revert to old parallelization
rhuijben Nov 30, 2025
dce50c3
Make more caching dictionaries collision safe by using proper key
rhuijben Dec 22, 2025
9734a17
More strict typemaps
rhuijben Dec 22, 2025
ab77072
Merge pull request #23 from rhuijben/fix/more-hash-key
rhuijben Dec 22, 2025
67790ff
Fix two more dictionary key types
rhuijben Dec 22, 2025
0b0cfe1
Fix a few function definitions to follow common practice
rhuijben Dec 22, 2025
0501bd8
Auto fix test error cases
rhuijben Dec 22, 2025
5d6df36
Remove some unneccesary assignments with more recent compilers
rhuijben Dec 22, 2025
b7bf179
Add missing cancellation token in backwards compat extension for testing
rhuijben Dec 22, 2025
700aa5f
Apply more best practices
rhuijben Dec 22, 2025
417e5ae
Try to fix issue #26, by adding CompareString and String.Equals() sup…
rhuijben Feb 18, 2026
4a817d0
Merge pull request #27 from AmpScm/fix/equals-methods-and-not
rhuijben Feb 18, 2026
94688a0
Improve error message a bit
rhuijben Feb 19, 2026
2a459ce
Detect another form of mysql computed columns
rhuijben Feb 19, 2026
25f1b44
Merge pull request #29 from AmpScm/fix/equals-methods-and-not
rhuijben Feb 19, 2026
1cd0ca9
Re-use DbHelper between the two MySql implementations, like the state…
rhuijben Feb 19, 2026
a148891
Avoid multiple build jobs for one push to a pr
rhuijben Feb 19, 2026
1871670
Bump dependencies. Resolve some test warnings
rhuijben Feb 19, 2026
31700a4
Update test code for DotNet 10.0
rhuijben Feb 20, 2026
f332fdf
More fixes for DotNet 10
rhuijben Feb 20, 2026
adbb8b6
Resolve some .Net 10 compat issues and a stackoverflow in .Net Framew…
rhuijben Feb 20, 2026
6767dc5
Try using github actions logger
rhuijben Feb 20, 2026
8f2aa29
Merge pull request #32 from AmpScm/build/bump-deps
rhuijben Feb 20, 2026
fc8b199
Merge pull request #30 from AmpScm/fix/mysql-on-update-computed
rhuijben Feb 20, 2026
8aaefd3
Switch version number format to 1.YEAR.MONTHDAY.build
rhuijben Feb 20, 2026
7154185
Merge remote-tracking branch 'mikependon/master' into copilot/sub-pr-30
rhuijben Feb 20, 2026
066cdbc
Improve postgres schema collection, based on original PR by RodolfoFe…
rhuijben Feb 20, 2026
2aafbf3
Apply SetEntityIdentities from andtii
rhuijben Feb 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
62 changes: 61 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ tab_width = 4
trim_trailing_whitespace = true
insert_final_newline = true
end_of_line = lf
csharp_indent_labels = one_less_than_current

[*.{csproj,props,build}]
indent_size = 2
Expand All @@ -17,6 +18,65 @@ indent_size = 2
dotnet_separate_import_directive_groups = false
dotnet_sort_system_directives_first = true

[*.cs]
csharp_style_namespace_declarations = file_scoped:suggestion

# IDE0130: Namespace does not match folder structure
dotnet_style_namespace_match_folder = false

# CS1574: XML comment has cref attribute that could not be resolved
dotnet_diagnostic.CS1574.severity = none

# IDE0057: Use range operator
csharp_style_prefer_range_operator = false

# DE0290: Use primary constructor
csharp_style_prefer_primary_constructors = false

[*.{cs,vb}]
#### Naming styles ####

# Naming rules

dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

# Symbol specifications

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers =

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers =

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers =

# Naming styles

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_style_operator_placement_when_wrapping = beginning_of_line
69 changes: 0 additions & 69 deletions .github/workflows/build-pr.yml

This file was deleted.

88 changes: 53 additions & 35 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,69 +1,87 @@
name: Build & Run Tests (Push)
on:
push
name: MSBuild (Push)

on:
push:
branches: [ main ]
paths:
- '**.cs'
- '**.csproj'

pull_request:

env:
REPODB_SQLSERVER_CONSTR_MASTER: "Server=tcp:127.0.0.1,41433;Database=master;User ID=sa;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;TrustServerCertificate=True;"
REPODB_SQLSERVER_CONSTR_REPODB: "Server=tcp:127.0.0.1,41433;Database=RepoDb;User ID=sa;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;TrustServerCertificate=True;"
REPODB_SQLSERVER_CONSTR_REPODBTEST: "Server=tcp:127.0.0.1,41433;Database=RepoDbTest;User ID=sa;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;TrustServerCertificate=True;"
REPODB_POSTGRESQL_CONSTR_POSTGRESDB: "Server=127.0.0.1;Port=45432;Database=postgres;User Id=postgres;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
REPODB_POSTGRESQL_CONSTR: "Server=127.0.0.1;Port=45432;Database=RepoDb;User Id=postgres;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
REPODB_POSTGRESQL_CONSTR_BULK: "Server=127.0.0.1;Port=45432;Database=RepoDbBulk;User Id=postgres;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
REPODB_MYSQL_CONSTR_SYS: "Server=127.0.0.1;Port=43306;Database=sys;User ID=root;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
REPODB_MYSQL_CONSTR_REPODB: "Server=127.0.0.1;Port=43306;Database=RepoDb;User ID=root;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
REPODB_MYSQL_CONSTR_REPODBTEST: "Server=127.0.0.1;Port=43306;Database=RepoDbTest;User ID=root;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
REPODB_ORACLE_CONSTR_MASTER: "Data Source=127.0.0.1:41521/FREEPDB1;User Id=system;Password=oracle;"
REPODB_POSTGRESQL_CONSTR_POSTGRESDB: "Server=127.0.0.1;Port=45432;Database=postgres;User Id=postgres;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
REPODB_SQLSERVER_CONSTR_MASTER: "Server=tcp:127.0.0.1,41433;Database=master;User ID=sa;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;TrustServerCertificate=True;"

jobs:
build:
runs-on: ubuntu-latest

# Services. See docker-compose.yml
services:
mssql:
image: mcr.microsoft.com/mssql/server:2022-latest
mysql:
image: mysql:latest
ports:
- 127.0.0.1:41433:1433
- 127.0.0.1:43306:3306
env:
ACCEPT_EULA: true
MSSQL_SA_PASSWORD: ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2

MYSQL_ROOT_PASSWORD: ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2

oracle:
image: gvenzl/oracle-free:23-slim-faststart
ports:
- 127.0.0.1:41521:1521
- 127.0.0.1:45500:5500
env:
ORACLE_PASSWORD: "oracle"
ORACLE_ALLOW_REMOTE: "true"

postgresql:
image: postgres:latest
image: postgres:17-alpine
ports:
- 127.0.0.1:45432:5432
env:
POSTGRES_PASSWORD: ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2
mysql:
image: mysql:latest

sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
ports:
- 127.0.0.1:43306:3306
- 127.0.0.1:41433:1433
env:
MYSQL_ROOT_PASSWORD: ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2
ACCEPT_EULA: true
MSSQL_SA_PASSWORD: ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2

steps:
- name: Check out repository code
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Setup .NET Versions
uses: actions/setup-dotnet@v4
- name: Setup DotNet Versions
uses: actions/setup-dotnet@v5
with:
dotnet-version: |
6.0.x
7.0.x
8.0.x
9.0.x
10.0.x

- name: build
run: dotnet build -c release RepoDb.Core/RepoDb.All.sln

- name: test for .Net 8.0
run: dotnet test -c release -f net8.0 --no-build -p:TestingPlatformShowTestsFailure=true -p:TestingPlatformCaptureOutput=false RepoDb.Core/RepoDb.All.sln
run: dotnet build -c Release

- name: Run tests for .Net 10.0
run: dotnet test -c Release -f net10.0 --no-build --report-github --report-github-summary-include-passed=false

- name: Set version variables
id: version
run: |
DATE=$(date +'%Y.%02m%02d')
BUILD_NUM=$(printf "%d" $(( ${{ github.run_number }} % 60000 )))
echo "version=1.${DATE}.${BUILD_NUM}" >> $GITHUB_OUTPUT

- name: pack packages
run: dotnet pack -c release -p Version="1.14.0-dev-${{ github.run_number }}" -o release RepoDb.Core/RepoDb.All.sln
- name: Pack packages
run: dotnet pack -c Release -p:Version="${{ steps.version.outputs.version }}" -p:PackagePrefix=AmpScm. -o release

- name: Package nupkg files
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: release
path: release/*nupkg
Loading