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
<PackageReference Include="Coject.Core.Database" Version="1.0.5" />
<PackageVersion Include="Coject.Core.Database" Version="1.0.5" />
<PackageReference Include="Coject.Core.Database" />
paket add Coject.Core.Database --version 1.0.5
#r "nuget: Coject.Core.Database, 1.0.5"
#:package Coject.Core.Database@1.0.5
#addin nuget:?package=Coject.Core.Database&version=1.0.5
#tool nuget:?package=Coject.Core.Database&version=1.0.5
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 | Versions 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. |
-
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.
Introduces the provider-neutral runtime contract and preserves the documented InitializeDB generated-consumer facade. Vendor providers are shipped separately.