Commit Graph

1603 Commits

Author SHA1 Message Date
Marc Gravell b272cc664d Don't specify dbtype for DateTime et al; fixed npgsql 6 issue (#1723)
* context: #1716 https://github.com/DapperLib/Dapper/issues/1716

- change type-map to allow nullable
- change DateTime/TimeSpan to null
- do not specify DbType for null
- semi-breaking change: swap GetDbType to SetDbType, noting that it is marked [Obsolete] and internal-use-only
- semi-breaking change: make LookupDbType return nullable (same internal-use/[Obsolete])

* add test for Npgsql 6.0.0-rc.1

* try list parameters (like arrays)

* never assign -1 (sentinel) as the .DbType

* postgres tests
2021-11-03 14:01:15 +00:00
Sergei Khlebnikov 80719d00f3 Added more use cases RepoDB benchmarks (#1710) 2021-10-10 09:29:55 -04:00
derickstinson a4b1c56a15 Update SqlMapper.cs (#1675)
Fix verbiage for return type documentation comments.
2021-07-27 09:13:00 +01:00
Pure Krome 1235a38e1b Another example: Execute a command Multiple Times (#1690)
Another example for "Execute a command Multiple Times" when we have an existing collection. The existing example (which still remains) I found to be a little bit confusing when I had an existing collection. So hopefully this 2nd example will help a tiny bit.
2021-07-27 09:11:38 +01:00
Marc Gravell 4aac41a2bc Enables "snowflake" connection (#1689)
* snowflake tests #1687

* actually add the tests!
2021-07-27 09:11:16 +01:00
Sviataslau Hankovich c62611a4f2 Fix signatures in readme (#1683) 2021-07-27 09:11:04 +01:00
Wei 31981fdf51 Add Documentation for Dapper.SqlBuilder (Issue #688, #480) (#1679)
Add Documentation for Dapper.SqlBuilder (Issue #688, #480)
2021-07-04 08:12:52 -04:00
Nick Craver 29f3befae2 Merge pull request #1662 from DapperLib/craver/split-dapper.contrib 2021-05-10 08:58:59 -04:00
Nick Craver 2b7b3fe4a9 Merge pull request #1575 from zqlovejyc/main 2021-05-10 08:58:31 -04:00
Nick Craver 61a04340af Merge pull request #1666 from kant2002/kant/update-version 2021-05-10 08:44:40 -04:00
Andrii Kurdiumov 069df56ec1 Update version of SqlMarshal to fix warnings
This address feedback in #1646
2021-05-10 17:50:16 +06:00
Nick Craver 600c1aca45 Add test cases and cleanup last call site.
This merges in the work in #1663 and cleans up the convert a bit further.
2021-05-09 23:10:31 -04:00
Nick Craver 87fe687eea Merge pull request #1665 from DapperLib/craver/dbstring-tostring 2021-05-09 22:46:53 -04:00
Nick Craver b275d24652 Release notes 2021-05-09 22:41:16 -04:00
Nick Craver 566d169a26 Add DbString.ToString() overload
Fixes #1538 and #1545 by making DbString.ToString() much more descriptive.
2021-05-09 22:36:23 -04:00
Nick Craver 42987a597b Merge pull request #1664 from DapperLib/craver/spliton-message 2021-05-09 21:56:52 -04:00
Nick Craver 6af6252eb6 Add release notes 2021-05-09 21:52:43 -04:00
Nick Craver fca49ebcce SplitOn: improve error message
Fixes #866. This provides a more informative error, saying _which_ splitOn column couldn't be found in the result set.
2021-05-09 21:51:20 -04:00
Nick Craver ffc02eb236 Merge pull request #1405 from brendangooden/allow-custom-type-checking-public 2021-05-09 19:12:03 -04:00
Nick Craver 54b1e4e7a2 Add 1405 to release notes 2021-05-09 19:09:29 -04:00
Nick Craver 7af97799bc Merge pull request #1254 from dmytro-gokun/2019-05-06-fix-rainbow-database-dispose 2021-05-09 19:06:30 -04:00
Brendan Gooden 9ad2895444 XML love for SqlMapper.HasTypeHandler 2021-05-10 06:55:58 +09:30
Nick Craver 1f8e09e0f6 Whitespace cleanup 2021-05-09 09:37:13 -04:00
Nick Craver 62b3c91662 Merge remote-tracking branch 'origin/main' into pr/1254 2021-05-09 09:36:21 -04:00
Nick Craver dffb443e01 Add #1598 to release notes 2021-05-09 09:10:22 -04:00
Nick Craver a12c37adcd Merge pull request #1598 from DarkWanderer/feature/support-returning-arrays 2021-05-09 08:08:41 -05:00
Nick Craver f13b1e6c0d Adding #952 to release notes 2021-05-09 08:49:48 -04:00
Nick Craver 956dafe074 Merge pull request #952 from jamescrowley/clearParameters 2021-05-09 07:48:19 -05:00
Nick Craver 3387019402 Merge remote-tracking branch 'origin/main' into pr/952 2021-05-09 08:41:35 -04:00
Nick Craver e9bdcb2352 Merge pull request #1602 from vbilopav/main 2021-05-09 07:02:09 -05:00
Nick Craver 60d5a05919 Update benchmarks/Dapper.Tests.Performance/Dapper.Tests.Performance.csproj 2021-05-09 06:57:02 -05:00
Vedran Bilopavlović ae65ef10d0 Use ItemGroup Condition != 'net462' in poject #if !NET4X in the file itself 2021-05-09 12:16:01 +02:00
Vedran Bilopavlović 5233555029 make bechmark test description shorter 2021-05-09 12:04:43 +02:00
Nick Craver 11931f9e6c Dapper.Contrib: removal (repo split)
Dapper.Contrib is now located at https://github.com/DapperLib/Dapper.Contrib
2021-05-08 20:36:15 -04:00
Nick Craver b452fb1999 Merge pull request #1603 from Zubaloo/main
The used Map method is asynchronous, hence without waiting for operation to complete the benchmark is only counting the query invocation time.
2021-05-05 21:24:33 -05:00
Nick Craver ab7724b168 Merge pull request #1659 from GitHubPang/patch-1
Fix typo in index.md
2021-05-05 21:19:26 -05:00
GitHubPang 0b196eec9b Fix typo in index.md 2021-05-03 12:47:28 +08:00
mgravell 964a27d68d add release notes for 2.0.78 and 2.0.90 2021-04-29 19:45:04 +01:00
mgravell ce8c85af4d copypasta 2.0.90 2021-04-29 12:19:34 +01:00
mgravell 3504109a5f Add Dapper logo 2021-04-29 12:11:13 +01:00
mgravell e26aa7b2d6 fix #1656 (git reorg) 2021-04-29 11:04:12 +01:00
Alexandr Buzadji f499062bd2 Use FirstOrDefault method instead of Map in Belgrade benchmark.
`FirstOrDefault` is probably meant to be used here, as there is selected and returned a single record by ID.

Also changing the benchmark description, as "ExecuteReader" looks to be an obsolete name of the method that was used before refactoring.
2021-04-27 22:22:25 -04:00
Alexandr Buzadji 64685835ae Belgrade benchmark bug fix.
The used Map method is asynchronous, hence without waiting for operation to complete the benchmark is only counting the query invocation time.
2021-04-27 22:22:25 -04:00
Nick Craver abd625cbf8 Merge pull request #1626 from stevedesmond-ca/repodb-benchmark
Add basic RepoDB benchmark
2021-04-27 17:30:54 -05:00
Nick Craver afefded8cf Merge pull request #1642 from kant2002/kant/cleanup 2021-04-27 16:58:28 -05:00
Nick Craver eb43a57d38 Merge pull request #1646 from kant2002/kant/sqlmarshal
[SqlMarshal](https://github.com/kant2002/sqlmarshal) is NativeAOT friendly mini-ORM which uses source code generators.
2021-04-27 16:55:52 -05:00
Nick Craver 3a09cb668f Merge pull request #1615 from Rollerss/main 2021-04-27 16:48:06 -05:00
Andrii Kurdiumov bc334ca679 [Benchmarks] Add SqlMarshal benhmarks
[SqlMarshal](https://github.com/kant2002/sqlmarshal) is NativeAOT friendly mini-ORM which uses source code generators.

```
// * Summary *

BenchmarkDotNet=v0.12.1, OS=Windows 10.0.19042
Intel Core i7-6700HQ CPU 2.60GHz (Skylake), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=5.0.201
  [Host]   : .NET Core 3.1.13 (CoreCLR 4.700.21.11102, CoreFX 4.700.21.11602), X64 RyuJIT
  ShortRun : .NET Core 3.1.13 (CoreCLR 4.700.21.11102, CoreFX 4.700.21.11602), X64 RyuJIT

|            ORM |                        Method |  Return |     Mean |    StdDev |     Error |   Gen 0 |  Gen 1 |  Gen 2 | Allocated |
|--------------- |------------------------------ |-------- |---------:|----------:|----------:|--------:|-------:|-------:|----------:|
|       Belgrade |                 ExecuteReader |    Post | 119.0 us |  22.26 us |  37.41 us |  2.6250 | 1.0000 |      - |  13.53 KB |
|     Hand Coded |                     DataTable | dynamic | 123.9 us |   2.95 us |   5.64 us |  3.0000 |      - |      - |   9.37 KB |
|     Hand Coded |                    SqlCommand |    Post | 124.8 us |  16.91 us |  32.33 us |  1.2500 | 0.5000 |      - |   7.42 KB |
|     SqlMarshal |                    SqlCommand |    Post | 132.8 us |   2.77 us |   4.66 us |  2.0000 | 0.7500 |      - |  11.27 KB |
|         Dapper |  QueryFirstOrDefault<dynamic> | dynamic | 135.0 us |   3.64 us |   6.96 us |  3.5000 |      - |      - |  11.39 KB |
|     LINQ to DB |                      Query<T> |    Post | 135.9 us |   3.52 us |   5.92 us |  1.7500 | 0.7500 |      - |  10.64 KB |
|     LINQ to DB |            'First (Compiled)' |    Post | 136.5 us |   2.99 us |   5.72 us |  1.7500 | 0.7500 |      - |  11.23 KB |
|       PetaPoco |             'Fetch<T> (Fast)' |    Post | 136.8 us |   4.67 us |   7.85 us |  2.0000 | 1.0000 |      - |  11.52 KB |
|         Dapper |   'Query<dynamic> (buffered)' | dynamic | 137.6 us |   6.44 us |  12.31 us |  2.0000 | 1.0000 |      - |  11.72 KB |
|         Mighty |                Query<dynamic> | dynamic | 141.7 us |   4.99 us |   9.54 us |  2.0000 | 1.0000 |      - |  12.43 KB |
|        Massive |             'Query (dynamic)' | dynamic | 142.1 us |   1.59 us |   2.66 us |  2.0000 | 1.0000 |      - |  12.07 KB |
|         Dapper |         'Query<T> (buffered)' |    Post | 143.0 us |   7.98 us |  13.41 us |  2.0000 | 1.0000 |      - |  11.64 KB |
|         Mighty |      SingleFromQuery<dynamic> | dynamic | 144.8 us |   3.95 us |   6.64 us |  2.5000 | 1.0000 |      - |  12.43 KB |
|         Dapper |        QueryFirstOrDefault<T> |    Post | 147.0 us |  22.39 us |  42.80 us |  1.7500 | 0.7500 |      - |  11.35 KB |
|       PetaPoco |                      Fetch<T> |    Post | 149.2 us |  22.91 us |  43.80 us |  2.5000 | 1.0000 | 0.2500 |   12.2 KB |
|         Dapper |              'Contrib Get<T>' |    Post | 149.9 us |  13.30 us |  25.42 us |  2.0000 | 1.0000 |      - |  12.28 KB |
|   ServiceStack |                 SingleById<T> |    Post | 151.8 us |   3.95 us |   7.56 us |  2.7500 | 1.0000 | 0.2500 |  15.27 KB |
|         Mighty |            SingleFromQuery<T> |    Post | 152.5 us |  14.77 us |  24.83 us |  2.0000 | 1.0000 |      - |  12.53 KB |
|         Mighty |                      Query<T> |    Post | 162.7 us |  45.49 us |  76.44 us |  2.0000 | 1.0000 |      - |  12.53 KB |
|         Dapper |       'Query<T> (unbuffered)' |    Post | 191.4 us |   6.95 us |  11.67 us |  2.2500 | 1.0000 | 0.2500 |  11.76 KB |
|     LINQ to DB |                         First |    Post | 200.6 us |  24.67 us |  47.18 us |  2.7500 | 1.0000 | 0.2500 |  15.79 KB |
| DevExpress.XPO |             GetObjectByKey<T> |    Post | 204.8 us |   5.69 us |  10.89 us |  5.5000 | 1.5000 |      - |  29.16 KB |
|        EF Core |            'First (Compiled)' |    Post | 212.4 us |  15.70 us |  30.01 us |  2.5000 |      - |      - |   8.39 KB |
|           EF 6 |                      SqlQuery |    Post | 251.1 us |  92.97 us | 140.55 us |  3.7500 | 1.0000 |      - |  23.67 KB |
|         Dapper | 'Query<dynamic> (unbuffered)' | dynamic | 255.9 us |  99.08 us | 149.80 us |  2.5000 | 1.0000 | 0.2500 |   11.8 KB |
| DevExpress.XPO |                      Query<T> |    Post | 285.4 us |  92.67 us | 140.10 us | 10.2500 |      - |      - |  31.71 KB |
|     NHibernate |                           HQL |    Post | 289.8 us |  18.26 us |  34.92 us |  5.5000 | 1.0000 |      - |  31.32 KB |
|     NHibernate |                        Get<T> |    Post | 302.1 us |  16.69 us |  28.05 us |  5.5000 | 1.0000 |      - |  29.37 KB |
|        EF Core |         'First (No Tracking)' |    Post | 334.9 us |  50.05 us |  84.11 us |  3.5000 | 0.5000 |      - |  19.53 KB |
|           EF 6 |                         First |    Post | 339.4 us |  43.67 us |  66.03 us | 14.0000 |      - |      - |  44.18 KB |
|        EF Core |                      SqlQuery |    Post | 344.0 us |  55.47 us |  83.86 us |  5.5000 |      - |      - |  17.59 KB |
|        EF Core |                         First |    Post | 357.5 us |  51.72 us |  78.20 us |  4.0000 |      - |      - |   12.3 KB |
|     NHibernate |                      Criteria |    Post | 357.6 us |  37.63 us |  63.23 us | 11.5000 | 1.0000 |      - |   56.5 KB |
|           EF 6 |         'First (No Tracking)' |    Post | 383.1 us |  33.98 us |  57.10 us |  9.0000 | 1.0000 |      - |  50.95 KB |
|     NHibernate |                           SQL |    Post | 399.2 us |  40.65 us |  68.31 us | 19.0000 | 1.0000 |      - |   78.9 KB |
| DevExpress.XPO |                 FindObject<T> |    Post | 602.5 us | 361.92 us | 547.18 us |  8.0000 |      - |      - |   27.2 KB |
|     NHibernate |                          LINQ |    Post | 925.9 us |  47.62 us |  80.02 us | 12.0000 | 2.0000 |      - |  53.59 KB |
```
2021-04-07 10:32:33 +06:00
Andrii Kurdiumov 252e8e0742 As far as I aware, Soma related code no longer in this project.
And thus can be removed
2021-04-01 08:40:59 +06:00
Vedran Bilopavlović cabdf4fc62 Add conditions for Norm tests in Perfomance project 2021-02-22 12:43:38 +01:00