Coject.Core.Database 1.0.5

dotnet add package Coject.Core.Database --version 1.0.5
                    
NuGet\Install-Package Coject.Core.Database -Version 1.0.5
                    
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="Coject.Core.Database" Version="1.0.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Coject.Core.Database" Version="1.0.5" />
                    
Directory.Packages.props
<PackageReference Include="Coject.Core.Database" />
                    
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 Coject.Core.Database --version 1.0.5
                    
#r "nuget: Coject.Core.Database, 1.0.5"
                    
#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 Coject.Core.Database@1.0.5
                    
#: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=Coject.Core.Database&version=1.0.5
                    
Install as a Cake Addin
#tool nuget:?package=Coject.Core.Database&version=1.0.5
                    
Install as a Cake Tool

Coject.Core.Database

Coject.Core.Database is the provider-neutral .NET 8 / .NET 10 runtime contract and compatibility facade used by Workshop-generated DAL code.

The base package contains no Oracle, PostgreSQL, SQL Server, MariaDB, Access, OleDb, or Dapper implementation. Install one separately versioned provider package, such as Coject.Core.Database.Oracle, beside the base package.

Compatibility facade

Existing generated consumers continue to use the CojectCore.Database namespace and InitializeDB members, including the historical spellings Paramters, ClearAllParmters, and SaveDataRetDatatTable.

var configuration = new ConfigurationSetting
{
    Provider = "Oracle",
    DataBaseType = ClientDataBase.ORACLE, // numeric transition fallback
    ConnectionString = connectionString
};

var database = new InitializeDB(configuration);
database.Paramters.InputParam.Add(new InitializeDB.InputParameter(
    "PUSER_ID",
    userId,
    22,
    InitializeDB.ParamTypes.NUMBER));

var succeeded = database.ExecuteNonQuery("SECURITY_224.PRC_USER_SAVE");

Provider is authoritative when supplied. If the legacy numeric DataBaseType is also supplied, both values must agree. A missing provider package produces the stable DB-PROVIDER-NOT-INSTALLED outcome.

Provider contract

A provider package exposes a public parameterless IDatabaseProviderFactory. The factory is stateless, declares a DatabaseProviderManifest, and creates an IDatabaseProvider from DatabaseProviderOptions. Providers implement genuine synchronous and asynchronous execution; synchronous execution must not block an asynchronous implementation.

Resolution rejects manifests whose provider/assembly identity is not canonical, whose contract is not compatible with runtime contract 1.0, or which omit the required sync, async, stored-procedure, transaction, named-result, or scalar-output capabilities.

Each provider execution owns its connection, command, reader, and transaction until all ordered result tables and scalar outputs are materialized. It commits only after complete successful materialization and rolls back provider or business failures.

Runtime guarantees

  • Mutable facade parameters are snapshotted before execution.
  • Legacy bulk string[] parameters remain typed arrays and are defensively cloned.
  • One provider is selected per facade/application instance.
  • Overlapping calls on the same facade instance are rejected.
  • No command is automatically retried.
  • Cancellation is propagated by asynchronous APIs.
  • Telemetry contains provider, routine, correlation, duration, and outcome only.
  • Parameter values, returned rows, connection strings, and secrets are never sent to the execution observer.

Compatibility boundary

The historical public low-level oraConnCls and pgConnCls types exposed vendor driver types and therefore cannot remain in the vendor-free base assembly. Their source files remain in this checkout as baseline evidence but are excluded from compilation. Repository evidence found no generated or shared consumer that directly calls them. Applications that did use those unsupported low-level types must migrate to the neutral provider contract or a provider package API.

Package publication and production rollout require separate authorization.

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Coject.Core.Database:

Package Downloads
Coject.Core.Controller

Coject Controller Tier Library Class is a powerful and efficient component that acts as a bridge between your application's business logic and the underlying Object-Relational Mapping (ORM) framework. This library class is designed to seamlessly connect to the ORM and facilitate the retrieval and manipulation of data from the database. Key features of our Controller Tier Library Class include: Simplified data access: Our library class abstracts away the complexities of interacting with the ORM, making it easy for developers to perform CRUD operations on the database. Seamless integration: The library class seamlessly connects to the ORM framework, allowing for smooth communication between the application and the database. Customizable queries: Developers can easily write and execute custom queries using our library class, enabling them to retrieve specific data from the database. Error handling: Our library class includes robust error handling mechanisms to ensure that any database-related errors are caught and handled gracefully. Performance optimization: The library class is optimized for performance, ensuring that data retrieval and manipulation operations are executed efficiently. By using our Controller Tier Library Class, developers can streamline their data access layer and leverage the full power of the ORM framework in their applications. This library class is a valuable asset for any project that requires seamless database connectivity and efficient data retrieval.

Coject.Core.Database.Oracle

Oracle runtime provider for Coject.Core.Database.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.5 141 10/21/2026
1.0.4 2,997 1/29/2025
1.0.3 260 1/28/2025 1.0.3 is deprecated because it is no longer maintained and has critical bugs.

Introduces the provider-neutral runtime contract and preserves the documented InitializeDB generated-consumer facade. Vendor providers are shipped separately.