SQLStoredProcedureCommandsFunctions 1.0.6
See the version list below for details.
dotnet add package SQLStoredProcedureCommandsFunctions --version 1.0.6
NuGet\Install-Package SQLStoredProcedureCommandsFunctions -Version 1.0.6
<PackageReference Include="SQLStoredProcedureCommandsFunctions" Version="1.0.6" />
<PackageVersion Include="SQLStoredProcedureCommandsFunctions" Version="1.0.6" />
<PackageReference Include="SQLStoredProcedureCommandsFunctions" />
paket add SQLStoredProcedureCommandsFunctions --version 1.0.6
#r "nuget: SQLStoredProcedureCommandsFunctions, 1.0.6"
#:package SQLStoredProcedureCommandsFunctions@1.0.6
#addin nuget:?package=SQLStoredProcedureCommandsFunctions&version=1.0.6
#tool nuget:?package=SQLStoredProcedureCommandsFunctions&version=1.0.6
SQLStoredProcedureCommandsFunctions 1.0.6
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
✔ 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
- Output / InputOutput / ReturnValue helper methods for SQL parameters
Example:
var users = await SQLSPResultMapper.ExecuteToListAsync<UserDto>(
connectionString,
commandType,
"GetUsers",
sqlParameters);
⚡ Output / InputOutput / ReturnValue Helpers
These helper methods make it easy to define SQL parameters for stored procedures with outputs or return values:
// Output parameter
SqlParameter outputParam = SQLSPResultMapper.Output("OutputParamName", SqlDbType.Int);
// InputOutput parameter
SqlParameter inputOutputParam = SQLSPResultMapper.InputOutput("InputOutputParamName", someValue);
// Return value parameter
SqlParameter returnValueParam = SQLSPResultMapper.ReturnValue();
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.6
| 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 (>= 7.0.0)
- Microsoft.Extensions.Configuration (>= 10.0.5)
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.0.7 | 88 | 3/23/2026 | |
| 1.0.6 | 80 | 3/23/2026 | |
| 1.0.5 | 95 | 2/23/2026 | |
| 1.0.4 | 85 | 2/23/2026 | |
| 1.0.1 | 313 | 12/16/2025 | |
| 1.0.0.9 | 286 | 12/16/2025 | |
| 1.0.0.8 | 709 | 12/3/2025 | |
| 1.0.0.7 | 689 | 12/3/2025 | |
| 1.0.0.6 | 2,053 | 11/20/2025 | |
| 1.0.0.4 | 1,801 | 7/4/2025 | |
| 1.0.0.3 | 257 | 10/10/2024 | |
| 1.0.0.2 | 585 | 10/13/2023 | |
| 1.0.0.1 | 567 | 10/13/2023 |
Release Notes - v1.0.6
✨ Key Features
1. 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
2. Built-In Transaction Support
Easy transaction lifecycle management:
InitializeTransaction()
Commit()
Rollback()
Safe handling of shared connections.
3. 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.
4. 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.
5. SQLSpResultMapper – Strongly-Typed Result Mapping (NEW - 2026-03-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
Eliminates repetitive DataTable-to-List conversion logic and reduces boilerplate in enterprise applications.
6. 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
7. 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.
8. 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 used in SQLSpResultMapper (expression-tree optimization planned).
📦 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