DataAccessLayer.SqlServerAdapter 1.2.1

dotnet add package DataAccessLayer.SqlServerAdapter --version 1.2.1
                    
NuGet\Install-Package DataAccessLayer.SqlServerAdapter -Version 1.2.1
                    
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="DataAccessLayer.SqlServerAdapter" Version="1.2.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DataAccessLayer.SqlServerAdapter" Version="1.2.1" />
                    
Directory.Packages.props
<PackageReference Include="DataAccessLayer.SqlServerAdapter" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DataAccessLayer.SqlServerAdapter --version 1.2.1
                    
#r "nuget: DataAccessLayer.SqlServerAdapter, 1.2.1"
                    
#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.
#:package DataAccessLayer.SqlServerAdapter@1.2.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DataAccessLayer.SqlServerAdapter&version=1.2.1
                    
Install as a Cake Addin
#tool nuget:?package=DataAccessLayer.SqlServerAdapter&version=1.2.1
                    
Install as a Cake Tool

Data Access Layer for .Net

Description

Data Access Layer facilitates access to the database in a performant and simplified way, with simple call construction, using dependency injection.

Packages DataAccessLayer.SqlServerAdapter

Package Purposes:

  • ExecuteNonQuery, ExecuteNonQueryAsync, ExecuteNonQueryTrans and ExecuteNonQueryTransAsync
    • Execution without returning information used for Update and Delete.
  • ExecuteScalar, ExecuteScalarAsync, ExecuteScalarTrans and ExecuteScalarTransAsync
    • Execution with return of a single piece of information, used for Insert with return of the ID.
  • ExecuteReader, ExecuteReaderAsync, ExecuteReaderTrans and ExecuteReaderTransAsync
    • Execution with multiple data return, used to return a Select.

Library methods

  • Non-asynchronous method
    • No transaction
      • ExecuteNonQuery
        • int ExecuteNonQuery(CommandType commandType, string commandText)
        • int ExecuteNonQuery(CommandType commandType, string commandText, object objectValue)
        • int ExecuteNonQuery(string spName, object objectValue)
      • ExecuteScalar
        • object ExecuteScalar(CommandType commandType, string commandText)
        • object ExecuteScalar(CommandType commandType, string commandText, object objectValue)
        • object ExecuteScalar(string spName, object objectValue)
      • ExecuteReader
        • List<T> ExecuteReader<T>(CommandType commandType, string commandText)
        • List<T> ExecuteReader<T>(CommandType commandType, string commandText, object objectValue)
        • List<T> ExecuteReader<T>(string spName, object objectValue)
    • With transaction
      • ExecuteNonQuery
        • int ExecuteNonQueryTrans(CommandType commandType, string commandText)
        • int ExecuteNonQueryTrans(CommandType commandType, string commandText, object objectValue)
        • int ExecuteNonQueryTrans(string spName, object objectValue)
      • ExecuteScalar
        • object ExecuteScalarTrans(CommandType commandType, string commandText)
        • object ExecuteScalarTrans(CommandType commandType, string commandText, object objectValue)
        • object ExecuteScalarTrans(string spName, object objectValue)
      • ExecuteReader
        • List<T> ExecuteReaderTrans<T>(CommandType commandType, string commandText)
        • List<T> ExecuteReaderTrans<T>(CommandType commandType, string commandText, object objectValue)
        • List<T> ExecuteReaderTrans<T>(string spName, object objectValue)
  • Asynchronous methods
    • No transaction
      • ExecuteNonQuery
        • int ExecuteNonQueryAsync(CommandType commandType, string commandText)
        • int ExecuteNonQueryAsync(CommandType commandType, string commandText, object objectValue)
        • int ExecuteNonQueryAsync(string spName, object objectValue)
      • ExecuteScalar
        • object ExecuteScalarAsync(CommandType commandType, string commandText)
        • object ExecuteScalarAsync(CommandType commandType, string commandText, object objectValue)
        • object ExecuteScalarAsync(string spName, object objectValue)
      • ExecuteReader
        • List<T> ExecuteReaderAsync<T>(CommandType commandType, string commandText)
        • List<T> ExecuteReaderAsync<T>(CommandType commandType, string commandText, object objectValue)
        • List<T> ExecuteReaderAsync<T>(string spName, object objectValue)
    • With transaction
      • ExecuteNonQuery
        • int ExecuteNonQueryTransAsync(CommandType commandType, string commandText)
        • int ExecuteNonQueryTransAsync(CommandType commandType, string commandText, object objectValue)
        • int ExecuteNonQueryTransAsync(string spName, object objectValue)
      • ExecuteScalar
        • object ExecuteScalarTransAsync(CommandType commandType, string commandText)
        • object ExecuteScalarTransAsync(CommandType commandType, string commandText, object objectValue)
        • object ExecuteScalarTransAsync(string spName, object objectValue)
      • ExecuteReader
        • List<T> ExecuteReaderTransAsync<T>(CommandType commandType, string commandText)
        • List<T> ExecuteReaderTransAsync<T>(CommandType commandType, string commandText, object objectValue)
        • List<T> ExecuteReaderTransAsync<T>(string spName, object objectValue)

Features

Data Access Layer is a NuGet library that you can add in to your project that will enhance your ADO.NET.

const string _connectionstring = "";
var services = new ServiceCollection();
services.AddScoped<ISQLServerAdapter>(p => { return new SQLServerAdapter(_connectionstring); });
var _ISQLServerAdapter = services.BuildServiceProvider().GetService<ISQLServerAdapter>();
_ISQLServerAdapter.Open();
var list = _ISQLServerAdapter.ExecuteReader<User>("StorageProcedureUserSelect", new User() { Id = 1 });
_ISQLServerAdapter.Close();

Sample code

Procedure:

create procedure spUserSelect
(
	  @Id			bigint		= null
	, @Email		varchar(200)	= null
)
as
begin
	set nocount on
	select 	 Id
		, Email
		 , Senha
		 , ChaveSenha
	from 
		User with(nolock) 
	where
		(@Id is null or Id=@Id)
	and
		(@Email is null or Email = @Email)
	order by
		  Email
	asc
end

C Sharp

public class User
{
        public Int64? Id { get; set; }
        public string Email { get; set; }
	public string Senha { get; set; }
}

const string _connectionstring = "";
var services = new ServiceCollection();
services.AddScoped<ISQLServerAdapter>(p => { return new SQLServerAdapter(_connectionstring); });
var _ISQLServerAdapter = services.BuildServiceProvider().GetService<ISQLServerAdapter>();
_ISQLServerAdapter.Open();
var list = _ISQLServerAdapter.ExecuteReader<User>("spUserSelect", new User() { Id = 1 });
_ISQLServerAdapter.Close();
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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
1.2.1 145 5/23/2025
1.2.0 143 2/8/2025
1.1.0 156 2/5/2025
1.0.0 162 2/3/2025