Songhay.DataAccess 6.0.0

dotnet add package Songhay.DataAccess --version 6.0.0                
NuGet\Install-Package Songhay.DataAccess -Version 6.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Songhay.DataAccess" Version="6.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Songhay.DataAccess --version 6.0.0                
#r "nuget: Songhay.DataAccess, 6.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Songhay.DataAccess as a Cake Addin
#addin nuget:?package=Songhay.DataAccess&version=6.0.0

// Install Songhay.DataAccess as a Cake Tool
#tool nuget:?package=Songhay.DataAccess&version=6.0.0                

Songhay.DataAccess

These reusable definitions for System.Data.Common (ADO.NET) remind us that the excellent Entity Framework (EF) and EF Core began as an application of the types in this namespace. Microsoft preserves the 2008 article, “Writing Generic Data Access Code in ASP.NET 2.0 and ADO.NET 2.0,” which provides some historical and contextual background to the work done here. The following from this 2008 article asserts the main motivation for this “common” database approach:

Writing generic data access code is especially important in data-driven Web applications because data comes from many different sources, including Microsoft SQL Server, Oracle, XML documents, flat files, and Web services, just to name a few.

What was not mentioned above is SQLite which emerges through the mists of time as the primary focus of this Studio. It follows that the Microsoft.Data.Sqlite NuGet package is installed and supported here. This package was chosen over the original SQLite package, System.Data.SQLite, for reasons described in “Comparison to System.Data.SQLite.”

the Microsoft.Data.Sqlite.SqliteFactory

The Microsoft.Data.Sqlite.SqliteFactory [📖 docs] is considered here the premiere DbProviderFactory [📖 docs] of this Studio. The CommonDbmsUtility.RegisterMicrosoftSqlite() method registers the SQLite provider with the current app domain. We can see this provider in action throughout the automated tests in the Songhay.DataAccess.Tests project that accompany this library. These tests depend on the Songhay.Northwind.DataAccess project, featuring a SQLite database file, northwind.db.

the Common* utilities

This Solution features the Common* utilities of reusable routines around:

  • System.Data.IDbConnection [📖 docs]
  • System.Data.Common.DbParameter [📖 docs]
  • System.Data.IDataReader [📖 docs]

The interfaces IDbConnection and IDataReader are implemented in .NET as System.Data.Common.DbConnection [docs] and System.Data.Common.DbDataReader [📖 docs], respectively.

With respect to the list above, these Common* utilities are:

  • the CommonDbmsUtility class and the CommonScalarUtility class
  • the CommonParameterUtility class
  • the CommonReaderUtility class

the Extensions

The extension method classes of this Solution, feature routines around IDbDataReader for XObject and JObject.

@BryanWilhite

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
6.0.0 90 9/27/2024
5.0.0 553 1/19/2021
2.1.2 912 11/13/2017
2.1.1 866 11/11/2017
2.1.0 896 11/5/2017
2.0.0 917 11/5/2017