SQLStoredProcedureCommandsFunctions 1.0.5
dotnet add package SQLStoredProcedureCommandsFunctions --version 1.0.5
NuGet\Install-Package SQLStoredProcedureCommandsFunctions -Version 1.0.5
<PackageReference Include="SQLStoredProcedureCommandsFunctions" Version="1.0.5" />
<PackageVersion Include="SQLStoredProcedureCommandsFunctions" Version="1.0.5" />
<PackageReference Include="SQLStoredProcedureCommandsFunctions" />
paket add SQLStoredProcedureCommandsFunctions --version 1.0.5
#r "nuget: SQLStoredProcedureCommandsFunctions, 1.0.5"
#:package SQLStoredProcedureCommandsFunctions@1.0.5
#addin nuget:?package=SQLStoredProcedureCommandsFunctions&version=1.0.5
#tool nuget:?package=SQLStoredProcedureCommandsFunctions&version=1.0.5
SQLStoredProcedureCommandsFunctions 1.0.5
A lightweight yet powerful SQL Server data-access library that simplifies working with stored procedures, DataTables, SQL parameters, and Azure SQL authentication.
Built for .NET 10 enterprise applications requiring clean, reusable, and high-performance database access.
π Features
β Azure SQL Authentication (Managed Identity Ready)
- Environment-aware token generation
- Local:
VisualStudioCredential - Cloud:
DefaultAzureCredential - Automatic AccessToken injection into
SqlConnection - Zero code changes required when deploying to Azure
β Full Data Access Layer (DAL)
Rich APIs for executing SQL commands:
ExecuteNonQueryExecuteScalarExecuteDatasetExecuteReaderExecuteXmlReader
Supports:
- sync & async programming
- Connection string, SqlConnection, or SqlTransaction
- Stored procedures or raw SQL
- Automatic command preparation
β SQLSPResultMapper Introduction
New high-level strongly-typed stored procedure execution layer built on top of the existing DAL.
SQLSPResultMapper allows executing a stored procedure once and automatically mapping results into:
List<T>IEnumerable<T>- Multi-table β
Dictionary<string, List<T>> - Dynamic β
Dictionary<string, List<Dictionary<string, object?>>>
Supports:
- Sync & Async methods
- Automatic DataSet β POCO mapping
- Case-insensitive column-property matching
- Nullable property handling
- DBNull β null conversion
- Multi-table stored procedure support
- Clean service-layer integration
Example:
var users = await SQLSPResultMapper.ExecuteToListAsync<UserDto>(
connectionString,
"GetUsers",
true);
Designed to eliminate repetitive DataTable conversion code and reduce boilerplate in enterprise applications and microservices.
β Stored Procedure Parameter Caching
- Automatically discovers stored procedure parameters
- Caches them using synchronized hashtable
- Fast repeated execution
- Eliminates
DeriveParametersoverhead
β SQL Parameter Utilities
- Convert C# classes β SqlParameter list
[IgnoreDBParameter]attribute to skip properties- Automatic SqlDbType inference
- Create strongly typed parameters easily
β Data Conversion Helpers
DataTableβList<T>/IEnumerable<T>List<T>/IEnumerable<T>βDataTableDataSet/DataTableβDictionary- Column reordering & shifting utilities
β Legacy-style SqlHelper (Optional)
- Transaction support
- Bulk SP execution
- Dataset update utilities
π¦ Installation
Install from NuGet:
dotnet add package SQLStoredProcedureCommandsFunctions --version 1.0.5
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Microsoft.Data.SqlClient (>= 6.1.4)
- Microsoft.Extensions.Configuration (>= 10.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Release Notes - v1.0.5
β¨ Key Features
🔹 1. Azure SQL Authentication
Added AzureCredential helper with environment-aware token resolution.
Supports:
- Local development via VisualStudioCredential
- Cloud environments via DefaultAzureCredential
- Automatic access token generation for SQL connections.
(Files: AzureCredential.cs)
🔹 2. High-Performance Stored Procedure Execution
Execute NonQuery, Scalar, Reader, Dataset, XmlReader operations.
Full support for sync and async methods.
Overloads for:
- Raw SQL commands
- Stored procedure name
- Parameter arrays
- Strongly-typed object parameters
🔹 3. Built-In Transaction Support
Easy transaction lifecycle management:
- InitializeTransaction()
- Commit()
- Rollback()
Safe handling of shared connections.
🔹 4. Automatic SQL Parameter Discovery & Caching
SQLHelperParameterCache creates and caches stored procedure parameter sets.
- Avoids repeated trips to SQL Server using DeriveParameters.
- Provides deep clones to ensure thread-safety.
- Improves performance in high-load systems.
🔹 5. Object-to-SQL Parameter Mapping
SQLParamHelper allows:
- Auto-generation of SqlParameter list from an object.
- Support for numeric, string, GUID, datetime, boolean, and other primitives.
- Attribute [IgnoreDbParameter] to omit properties from mapping.
- Strongly typed parameter creation helpers.
🔹 6. SQLSPResultMapper β Strongly-Typed Result Mapping (NEW - 2026-02-23)
Introduced SQLSPResultMapper to simplify stored procedure result handling.
Enables execution + automatic mapping into:
- List<T>
- IEnumerable<T>
- Dictionary<string, List<T>> (multi-table strong typing)
- Dictionary<string, List<Dictionary<string, object?>>> (dynamic mapping)
Supports:
- Sync & Async execution
- Case-insensitive column/property matching
- Nullable property handling
- DBNull β null conversion
- Multi-table stored procedures
- Clean integration with service-layer architecture
Eliminates repetitive DataTable-to-List conversion logic.
Designed for microservices and enterprise APIs.
🔹 7. DataSet & DataTable Conversion Utilities
Included in DataAccessConverter, offering:
Convert:
- DataTable β List<T>
- DataTable β IEnumerable<T>
- DataSet β Dictionary<string, List<object>>
- List<T> β DataTable
- Multiple lists β DataSet
Advanced helpers:
- Select distinct values
- Shift column ordering
- Move/rename table columns
🔹 8. Extension Methods for DataTable Manipulations
Included in DataTableExtensions:
- Move one or more columns to specific indices.
- Get column names by index.
- Reorder columns without breaking row data.
🔹 9. Streamlined Data Access Layer
The DataAccessLayer class provides a clean API for:
- Sync/async CRUD operations
- Command preparation
- Reader handling
Strong validation for:
- Connection state
- Null parameters
- Argument correctness
🔧 Internal Enhancements
- Safe cloning of SQL parameters before execution.
- Consistent use of CommandTimeout for long-running procedures.
- Support for both internal and external connection ownership modes.
- Uses Microsoft.Data.SqlClient for modern SQL Server connectivity.
- Centralized execution pipeline reused by SQLSPResultMapper.
🐛 Known Limitations
- Does not support Dapper-style automatic mapping (future enhancement possible).
- SQL bulk copy not included in this version.
- Parameter type inference follows simplified rules and may need extension for complex types.
- Reflection-based mapping (expression-tree optimization planned for future release).
📦 Target Frameworks
- .NET 10
📘 Documentation
For full samples, including:
- CRUD examples
- Async patterns
- Stored procedure patterns
- Strongly-typed mapping examples
- Multi-table stored procedure handling