SQL LocalDB Wrapper v2.0.0
SqlLocalDb v2.0.0
Version 2.0.0
of SQL LocalDB Wrapper is a major rewrite of version 1.x.x
which is now .NET Core compatible as it now targets netstandard2.0
. It is available on NuGet as MartinCostello.SqlLocalDb
.
This version is a breaking change, with the name of the package, its namespaces, and many of its types, renamed and refactored. The main motivation for this is to move the types and package out of System.Data
and make it explicit that the package is not an official Microsoft package, which System.*
implies.
The design for version 2.0.0
is intended to make the library more friendly for extensibility as well as dependency injection, particularly for scenarios such as .NET Core applications. A number of static types have been removed and various methods that used to be interface methods are now extension methods.
First-class support for Entity Framework-related concepts (such as parsing) entity connection strings has been removed to mainly give focus to just functionality of the SQL Server LocalDB Instance API itself.
To migrate a project from using a 1.x.x
version follow the migration guide: Migrating to MartinCostello.SqlLocalDb from System.Data.SqlLocalDb
Changes
- The NuGet package name is now
MartinCostello.SqlLocalDb
. - Types are now in the
MartinCostello.SqlLocalDb
namespace. - Core classes and interfaces are now:
ISqlLocalDbApi
ISqlLocalDbInstanceInfo
ISqlLocalDbInstanceManager
ISqlLocalDbVersionInfo
SqlLocalDbApi
SqlLocalDbException
SqlLocalDbInstanceManager
SqlLocalDbOptions
TemporarySqlLocalDbInstance
- Various methods on previous classes and interfaces are now extension methods.
- Configuration is now via the
SqlLocalDbOptions
class for use with theSqlLocalDbApi
class. - Uses .NET Standard logging abstractions for logging rather than
TraceSource
. - Now compiled using the .NET Core SDK.
- Tests now use xunit instead of MSTest.
Added
- Added new
bool InstanceExists(string)
method toISqlLocalDbApi
. - Add support for registration with the built-in ASP.NET Core service container.
- Added new sample Todo list ASP.NET Core web application that uses SQL Server LocalDB.
- Continuous integration using Travis CI for Linux and macOS.
- Continuous integration using Azure Pipelines for Windows, Linux and macOS.
Fixed/Improved
- Improved behaviour when testing for the existence of LocalDB instances.
- The SQL Server LocalDB Instance API can now be unloaded from the process.
- Logging now uses structured logging and specific event IDs.
- Several types now override
ToString()
to return object names. - Improved behaviour if used in an application on Linux or macOS.
- Simplified build infrastructure using the .NET Core SDK.
- Use various new C# 7.2 language features to simplify the code.
- Uses
Version.TryParse()
internally. - Added assets for working on the project in Visual Studio Code.
Removed
- Removed the following types:
ISqlLocalDbInstance
SqlLocalDbApi
(static class)
- Configuration no longer via
System.Configuration
and.config
files. - Removed old "Blog" sample application.
- Removed Coverity scan integration.