Commit Graph

1603 Commits

Author SHA1 Message Date
Nick Craver 1f1e277db6 Merge pull request #837 from StackExchange/netstandard2-cleanup
Netstandard2.0 Followup Cleanup
2017-08-21 06:46:17 -04:00
Nick Craver 9076086b31 Merge pull request #836 from StackExchange/netstandard2
.NET Standard 2.0, for great justice.
2017-08-21 06:44:01 -04:00
Nick Craver ff2c70d0ec Cleanup 2017-08-20 23:00:16 -04:00
Nick Craver bdebedea41 Tests: xUnit cleanup
This change:
- Removes the Assert shim
- Uses recommended xUnit methods (improving fail errors)
- Cleans up exception tests
- General test formatting fixes
- Removes the netcoerapp1.0 only testing (oops commit)
2017-08-20 23:00:08 -04:00
Nick Craver e645420c7b Update README to remove advetisements 2017-08-20 17:57:33 -04:00
Nick Craver 71b179af9a Fix for #815
New overload so this isn't a breaking change. We can collapse down in v2.0 (including the Impl method).
2017-08-20 17:03:40 -04:00
Nick Craver 1bd1b4f8f5 Fix for #808
Add dynamic overloads for:
- QueryFirstAsync
- QueryFirstOrDefaultAsync
- QuerySingleAsync
- QuerySingleOrDefaultAsync

This may change a lot in 2.x, but many people asking for them now so here they are. Unit tests also fixed for QuerySingleOrDefaultAsync.

Note: this builds on the netstandard2 branch because of the xUnit changes to go with VS 2017 15.3.
2017-08-20 16:50:56 -04:00
Nick Craver 9d9afeaf29 Update semver, add to solution 2017-08-20 16:00:46 -04:00
Nick Craver 01c6a13967 Merge remote-tracking branch 'origin/master' into netstandard2 2017-08-20 15:46:39 -04:00
Nick Craver 6904fa4ed5 Appveypr: update to base 2017 image again
.NET Core 2 SDK is on the base Appveyor image now
2017-08-20 15:18:09 -04:00
Nick Craver 76c2e186e2 More test fixes 2017-08-20 15:17:33 -04:00
Nick Craver 4637c10097 Upgade libs, fix tests
This uses the new non-parallel-at-the-end I added to xUnit in https://github.com/xunit/xunit/pull/1411 This way we can run any global test that are other-test-unfriendly much more easily.
2017-08-20 14:06:27 -04:00
Nick Craver ac7b9f5a6f Merge branch 'netstandard2' of https://github.com/StackExchange/Dapper into netstandard2 2017-08-15 12:58:07 -04:00
Sergii Volchkov a9560b3193 Enable SqlDataRecord TVPs on netstandard1.3. (#802)
* Enable SqlDataRecord TVPs on netstandard1.3.
* Update netstandard2.0 SqlClient references to Preview 2.
* Skip TransactionScope tests for netcoreapp2.0.
- According to https://github.com/dotnet/corefx/issues/12534, ambient transaction enlistment is not included with .net core 2.0.
* Update references in Dapper.StrongName.
* Disable parallel test run to stabilize flaky type handler tests.
* Disable parallel test run by assembly attribute.
* Move Issue461 tests to TypeHandlerTests.
* Group type handler tests in a collection, re-enable parallelization.
- Being part of the same collection, type handler tests will run sequentially. All other tests can run in parallel.
* Move tests relying on query cache & type maps to a separate collection.
2017-08-15 12:56:33 -04:00
verysimplenick e1fdc3bdd1 Avoid allocation for linq in CreateParamInfoGenerator and added some other micro optimizations 2017-08-09 02:15:03 +03:00
Nick Craver 910246bf24 Appveyor: use the VS 2017 preview image 2017-06-15 06:11:05 -04:00
Nick Craver 610d8f65bc Revert "Enable SqlDataRecord TVPs on corefx. (#801)" (#803)
This reverts commit e7ad0874de.
2017-06-15 06:08:18 -04:00
Sergii Volchkov e7ad0874de Enable SqlDataRecord TVPs on corefx. (#801) 2017-06-15 06:06:25 -04:00
Ffloriel 0151dea8fc Markdown tables (#800)
Markdown tables instead of html
“Can be faster” in correct row
2017-06-13 21:10:10 -04:00
Nick Craver ee0b246f34 Perf: add EntityFramework Core to legacy tests 2017-06-02 11:37:05 -04:00
James Law 3c14c8b660 Added EntityFrameworkCore performance tests (#778) 2017-06-02 11:24:39 -04:00
Bill.B.Jia 02644d7791 fix issue #731: AddDynamicParameters repeated if paramtype is DbStiring should work. 2017-05-20 02:48:39 -07:00
Nick Craver fb443385ad Try and use BenchmarkDotNet correctly
OperationsPerInvoke is an informational, not instructional property.
What we actually want is the UnrollFactor. Moved into the job definition
to simplify things.
2017-05-14 13:31:27 -04:00
GermanTikhonov23 f39cff338c Fix for InsertAsync in PostgresAdapter (#689)
* Fix for PostgresAdapter in SqlMapperExtensions.Async. Copied same line of code from SqlMapperExtensions to fix RuntimeBinderException on InsertAsync
* Cleanup
2017-05-13 23:17:10 -04:00
Kevin Jones bc9644a737 Minor README tweaks. (#776)
Use an HTTPS link where possible.
Fix 404 for performance tests.
2017-05-13 21:46:52 -04:00
Nick Craver ba641f1890 Merge MySQL fixes in 2017-05-13 07:35:54 -04:00
Nick Craver ea6b193406 Benchmarks: performance and formatting 2017-05-12 21:14:02 -04:00
Bradley Grainger a46354a2e2 Fix MySQL tests and disposal (#774)
* Don't create the connection in Dispose: this avoids creating a SQLConnection simply to Dispose it.
* Run MySQL tests against the open MySqlConnection: 'connection' is a protected variable in the TestBase class that is a SQL Server connection, not a MySQL connection.
* Skip broken MySQL tests: as per issue #295, setting "AllowZeroDateTime=True" in the connection string causes an InvalidCastException in SqlMapper.
2017-05-12 18:18:34 -04:00
Nick Craver 7e5bd308f9 netstandard2.0 functionality (w/ runtime breaks)
This adds a netstandard2.0 build to Dapper (and StrongName until v2),
adds a netstandard2.0 test lineup, restores most functionality (except
UDTs for SQL, e.g. .UdtTypeName isn't in netstandard2), and also breaks
things not actually implemented or implemented correctly in
netstandard2.0. Pushing this up so we can work through these with the
.NET teams.

Several things are still broken here (and fail tests):
- Parameter decimal values (not filed yet)
- DataTables as parameters
(https://github.com/dotnet/corefx/issues/19708)
- .GetSchemaTable() (not yet filed, implementation is completely missing
from SqlDataReader in CoreFX)

While the compile is clean, the above are runtime issues.
`SqlParameter.UdtTypeName` is a separate issue, that one just wasn't in
`netstandard2.0` at all...so we can't support UDTs there until it is.
See https://github.com/dotnet/corefx/issues/17126 for details.
2017-05-12 10:03:00 -04:00
Nick Craver d3ab338c78 Benchmarks: customization and formatting
More cleanup to do (removing Type column next), but getting to some very
usable output now.
2017-05-11 18:14:37 -04:00
Nick Craver d72ae17a22 Dependency: Dapper doesn't need SqlClient, only Data.Common 2017-05-11 09:36:41 -04:00
Nick Craver 0a8fcd9806 Benchmarks v2: BenchmarkDotNet and friends
This is based on BenchmarkDotNet (while preserving the legacy format
with minor improvements as well - legacy runs much faster). See #666 for
details. Not an ominus number at all.

Note: this code will get a bit simpler with BenchmarkDotNet categories,
see https://github.com/dotnet/BenchmarkDotNet/issues/248 for details.
2017-05-11 09:05:25 -04:00
Nick Craver 4915071380 Documentation and formatting: SqlMapper 2017-05-08 14:54:48 -04:00
Nick Craver 6745addf4f Documentation and formatting: secondary types 2017-05-08 14:54:21 -04:00
Nick Craver 4d75b98206 Tests: make analyzers happy because why not 2017-05-08 14:47:36 -04:00
Nick Craver b5b65e6070 Documentation: Rainbow 2017-05-08 14:47:05 -04:00
Nick Craver 60e04930cb Documentation: EntityFramework 2017-05-08 14:46:47 -04:00
Nick Craver c3b2b34b54 Documentation: contrib 2017-05-08 14:46:34 -04:00
Nick Craver 9b98d3df14 Documentation: GridReader 2017-05-07 16:50:08 -04:00
Nick Craver d52067c896 C# 7 cleanup: pattern matching for TryStringSplit 2017-05-07 16:10:47 -04:00
Nick Craver f613234413 Lots of code cleanup, no functional changes 2017-05-07 15:49:01 -04:00
Nick Craver f26967c6c2 Appveyor: enable MyGet publishing 2017-05-07 07:57:30 -04:00
Nick Craver 812da93390 Add build badge to README 2017-05-07 07:56:40 -04:00
Nick Craver f8d7a7a320 Skip the MySQL FUBAR test
It's indeed broken on their end. We should consider switching providers,
e.g. https://github.com/mysql-net/MySqlConnector/
2017-05-06 20:18:15 -04:00
Nick Craver 60b7807260 Fix SQL spatial type loading 2017-05-06 19:34:28 -04:00
Nick Craver 15c9e35a17 Fix type loads for the builds without SQL in the GAC 2017-05-06 19:17:56 -04:00
Nick Craver a83e0a7777 Fix Microsoft.SqlServer.Types for new .csproj 2017-05-06 19:07:50 -04:00
Nick Craver 4be8df7988 Lots of documentation fixes/additions. 2017-05-06 18:57:10 -04:00
Nick Craver 7820ee2e41 Appveyor: Update Postgres path 2017-05-06 17:05:03 -04:00
Nick Craver dcfbffa93b Appveyor: Formatting & combine init 2017-05-06 17:02:57 -04:00