Represents the NuGet versions.
- Enhancement:
DatabaseBase.DefaultDateTimeKind
replaced with (breaking change)DatabaseBase.DateTimeTransform
, and defaults toUseDefault
. - Enhancement:
DatabaseRecord.GetValue
updated to useCleaner.Clean
when retrieving aDateTime
value. - Enhancement: All references to
DateTime.Now
have been updated toCleaner.Clean(DateTime.Now)
to ensure the value is set as configured by default.
- Fixed:
DatabaseRecord.GetValue
changed to use the underlying type of nullable types forIsEnum
checking and parsing.
- Fixed: A new nullable compile error fixed that appeared with Visual Studio 2019 v16.5.4.
- Enhancement:
Database.SetSqlSessionContext
now supports the passing of aUserId
. This will default to theExecutionContext.UserId
.
- Enhancement: Updated all dependent NuGet packages to their latest respective version.
- Upgrade: Upgraded the project to .NET Standard 2.1 (compatible with .NET Core 3.1).
- Added: Nullable rollout phase: https://devblogs.microsoft.com/dotnet/embracing-nullable-reference-types/
- Enhancement: Migrated from
System.Data.SqlClient
toMicrosoft.Data.SqlClient
. See https://devblogs.microsoft.com/dotnet/introducing-the-new-microsoftdatasqlclient/. - Enhancement: All
DatabaseCommand
andDatabaseBase
database operations are now all asynchronous and are suffixed byAsync
as per the expected convention. The previous synchronous operations have been removed; this will result in breaking code changes. Operations that previously had anout int returnValue
are renamed with aWithValueAsync
suffix and now return the value directly instead. - Removed: The
DatabasePerformanceTimer
has been removed. Using other tools such as AppInsights provides this insight.
- Enhancement: Sprinkled
Task.ConfigureAwait(false)
as per https://devblogs.microsoft.com/dotnet/configureawait-faq/. - Added: A new
SqlRetryDatabaseInvoker
is provided for usage with a Microsoft SQL Server to perform a retry (exponential back-off) where a known transient error is encountered.
- Enhanced: New
MultiSetSingleArgs
andMultiSetCollArgs
abstract classes added to enable simplier custom implementations. These are now used by the existing generic implementations. - Fixed: Introduced FxCop Analysis to
Beef.Data.Database
; this version represents the remediation based on the results.
- Fixed: Introduced FxCop Analysis to
Beef.Core
; this version represents the remediation based on the results.
- Fixed: InvokerBase was non functioning as a generic class; reimplemented. Other Invokers updated accordingly.
- New: Added SqlTransientErrorNumbers to DatabaseBase; standardised list that can be used for retries, etc.
- Fixed: ETag not returned for Reference Data items.
- Fixed: Inconsistent version numbers.
- New: Initial publish to GitHub.