REST-only runtime
Designed around SharePoint REST endpoints, without a CSOM runtime dependency in the provider architecture.
GDG.SharePoint.ADOProvider brings an ADO.NET-oriented programming model to SharePoint, enabling .NET applications to work with lists and document libraries through a clean, REST-only data access layer.
SharePoint is powerful, but application code often becomes tightly coupled to platform-specific APIs. GDG.SharePoint.ADOProvider introduces a familiar data-access abstraction so .NET solutions can keep infrastructure concerns behind a consistent provider layer.
Designed around SharePoint REST endpoints, without a CSOM runtime dependency in the provider architecture.
Bring established .NET data-access patterns closer to SharePoint lists and libraries, reducing the conceptual gap with relational application code.
Target solutions that need governed, reusable access to SharePoint Online and SharePoint Subscription Edition data.
Keep SharePoint transport, schema discovery, query execution and object mapping behind a dedicated provider instead of scattering REST-specific code across the application.
Design principle: SharePoint remains SharePoint. The provider does not pretend that lists are a relational database; it gives application developers a disciplined data-access abstraction while preserving SharePoint semantics underneath.
A provider architecture focused on the operations enterprise .NET applications need most when SharePoint becomes part of their operational data landscape.
Access structured SharePoint content through a unified provider model suitable for business applications, integration services and reusable repositories.
Create, read, update and delete content through a consistent application-facing layer.
Discover SharePoint field metadata and reuse cached schema information to limit avoidable calls.
Support application workflows that include SharePoint documents and list-item attachments.
Translate SharePoint field values into application-friendly .NET data representations.
Centralize schema reuse and transport concerns in the provider layer, creating a better foundation for predictable application behavior and future optimization.
GDG.SharePoint.ADOProvider includes a SQL tokenizer, parser and execution pipeline. SQL statements are translated into SharePoint-aware query and mutation operations, while the application remains on the standard ADO.NET programming model.
SELECT TOP 100
ID,
Title,
Status
FROM Tasks
WHERE Status = 'Open'
ORDER BY ID DESC;
The provider tokenizes and parses the statement into its internal execution plan.
SELECT filtering and projection are pushed server-side through the provider's SharePoint query pipeline whenever possible.
Results are exposed through DbCommand and DbDataReader semantics instead of SharePoint-specific client APIs.
INSERT INTO Customers
(Title, Email)
VALUES
('Mario Rossi',
'mario@example.com');
UPDATE Customers
SET Status = 'Inactive'
WHERE ID = 42;
DELETE FROM Customers
WHERE ID = 42;
INSERT INTO Documents
(FileName, FileContent, Title)
VALUES
('Contract.pdf',
@Content,
'Contract 2026');
The provider exposes DbConnection, DbCommand, DbDataReader, DbParameter and DbProviderFactory-compatible types, allowing SharePoint access to fit established .NET data-access architectures.
using DbConnection connection =
factory.CreateConnection();
connection.ConnectionString = connectionString;
connection.Open();
using DbCommand command =
connection.CreateCommand();
command.CommandText =
"SELECT ID, Title FROM Customers " +
"WHERE ID = @Id";
DbParameter p = command.CreateParameter();
p.ParameterName = "@Id";
p.DbType = DbType.Int32;
p.Value = 42;
command.Parameters.Add(p);
using DbDataReader reader =
command.ExecuteReader();
Keep domain logic, UI layers and application services focused on business behavior. Let the provider own the SharePoint-specific transport and metadata concerns.
Repository-friendly
Fits cleanly behind repository and service-layer abstractions.
Dapper / ORM integration path
Suitable as a foundation for adapters that bring SharePoint closer to established data-access tooling.
UI-neutral
Consumable from desktop, web and service workloads without tying the provider to a specific presentation stack.
Move repetitive REST plumbing out of business features and into one reusable data-access boundary.
Give .NET teams a more familiar mental model for SharePoint-backed application data.
Concentrate authentication, schema, transport and mapping concerns where they can evolve independently.
Support enterprise applications that need SharePoint data without forcing a complete architectural rewrite.
Source repository access is not public. Qualified partners, authorized evaluators and approved integration teams must request access by email at info@gabrieledelgiovine.it. Access is granted only after the required project-specific Non-Disclosure Agreements have been reviewed and signed.
Evaluate the provider for enterprise application development, modernization, integration platforms and reusable SharePoint data-access architectures.