GDG.SP.ADOProvider
Contact
REST-ONLY • ADO.NET • MICROSOFT SHAREPOINT

GDG.SP.ADOProvider A familiar data model for SharePoint applications.

A REST-only ADO.NET provider that exposes SharePoint lists and document libraries to .NET applications through standard ADO.NET primitives and pragmatic SQL-like queries.

REST-onlyNo production CSOM dependency
.NET 4.8 + .NET 8Multi-target provider
Online + SEOne application model
SP GDG.SP.
ADOProvider
Relational Engine
.NET Application ADO.NET API
SQL SQL-like Planner / Optimizer
REST Microsoft SharePoint Online / Server SE
IN ONE SENTENCE

The application works with connection, command, parameter, reader, adapter and SQL-like queries; the provider translates and optimizes those operations for SharePoint REST.

Designed for CIO, CTO, IT Managers, Solution Architects, Software Architects and .NET teams integrating SharePoint without spreading proprietary API calls across the codebase.
ARCHITECTURE

ADO.NET on top. SharePoint REST underneath.

The provider interprets SQL-like queries, builds logical and physical plans, and selects the safest combination of CAML, REST/OData, batching and local relational processing.

01.NET Application Layer

ASP.NET Core, Windows Forms, services and enterprise .NET applications.

↓
02ADO.NET API

Connection • Command • Parameter • Reader • Adapter

↓
03SQL-like Parser + Relational Engine

Planner • Optimizer • Semantic validation • Cost model

↓
04Safe pushdown + local fallback

CAML • REST • OData • $batch • RLDAS

↓
05SharePoint REST Transport / HttpClient

SharePoint Online • SharePoint Server Subscription Edition

≡
DESIGN PRINCIPLE

Semantics before cost.

An optimization is considered only when it preserves the expected SQL result. The cost model chooses among strategies that are already semantically valid.

ARCHITECTURAL VALUE

Reduce SharePoint-specific coupling without hiding SharePoint.

One component centralizes data access concerns while preserving the platform's real limits and behavior.

01

Lower coupling

Application code depends on ADO.NET and the provider rather than scattered REST/CAML calls in individual modules.

02

Application portability

The same surface targets .NET Framework 4.8 and .NET 8 across SharePoint Online and Server SE.

03

Operational consistency

Authentication, metadata, paging, batching, mutations and fallbacks are handled in one provider.

04

Incremental adoption

Existing applications can introduce the provider progressively without replacing the entire data stack.

05

Controlled risk

Scan and mutation limits plus conservative fallbacks prevent partial or semantically different results.

IMPLEMENTED CAPABILITIES

A practical SQL and ADO.NET core for SharePoint.

The goal is not to turn SharePoint into SQL Server, but to expose the operations needed by real .NET applications through a coherent provider contract.

SQL

SQL-like Querying

SELECT, WHERE, TOP, ORDER BY, BETWEEN, IN, LIKE, NULL semantics, parameters, aliases and SQL comments.

↔

Relations

INNER JOIN, LEFT JOIN, CROSS JOIN plus semi/anti-join semantics from EXISTS, NOT EXISTS, IN and NOT IN.

Σ

Aggregations

COUNT, SUM, AVG, MIN, MAX, GROUP BY, HAVING, local HASH/STREAM strategies and certified SERVER AGGREGATE.

∪

Set & Paging

DISTINCT, COUNT(DISTINCT), OFFSET/FETCH, UNION ALL and UNION with SQL-aware cardinality behavior.

fx

Expression Engine

Arithmetic, searched CASE, COALESCE, NULLIF, CAST and essential scalar functions.

DML

Data Modification

INSERT, UPDATE, DELETE, expression-based UPDATE SET, INSERT ... SELECT and UNION-backed sources.

DDL

Schema & Administration

Schema discovery, provider-supported DDL/DCL, metadata cache and controlled invalidation.

⚡

Query Planning & Performance

CAML/OData pushdown, $batch, RLDAS, plan cache, cost-based planning and local fallback.

✓

Operational Controls

Timeouts, cancellation/async, MaxRows, MaxMutationItems, Server SE digest cache and Online/SE authentication.

CLEAR BOUNDARIES

It does not fake capabilities SharePoint cannot guarantee.

The provider does not simulate ACID transactions and does not attempt to implement every SQL Server construct. Advanced syntax is added only when there is a concrete application need and reliable semantics.

FROM SQL TO SHAREPOINT

Code that looks familiar to .NET teams.

The client code stays in ADO.NET and SQL-like territory while the provider handles SharePoint transport, planning and fallback.

C# / ADO.NET

COMPATIBILITY

One provider surface across legacy and modern .NET.

Client / RuntimeSharePoint OnlineSharePoint Server SE
.NET Framework 4.8 / WindowsSupportedSupported
.NET 8+ / WindowsSupportedSupported
ASP.NET Core / WindowsSupportedSupported
ASP.NET Core / Linux / macOSSupported*Supported*

* REST is cross-platform; integrated authentication to SharePoint Server depends on the Kerberos / Negotiate / NTLM configuration available in the operating system and infrastructure.

PREDICTABLE BEHAVIOR

Correct results are a feature.

The engine is designed to avoid partial results and semantically unsafe optimization when exposing a non-relational platform through SQL.

01

MaxRows

Applied to the correct final rowset, including after UNION composition.

02

MaxMutationItems

INSERT ... SELECT checks mutation cardinality before writing when the configured limit would be exceeded.

03

Certified pushdown

Aggregations and DISTINCT use server-side primitives only for certified shapes; local operators remain available as safe fallbacks.

04

No partial aggregates

Queries that require a complete scan fail rather than returning a partial aggregate when safety limits prevent completion.

05

Validated matrix

Validation pipelines cover .NET Framework 4.8, .NET 8, SharePoint Online and SharePoint Server SE.

USE CASES

Where the provider fits.

↻

.NET modernization

Reduce SharePoint-specific code and centralize access through an ADO.NET contract.

LOB

Line-of-business applications

Use SharePoint lists as an operational backend with queries, joins, aggregations and DML.

Σ

Reporting & dashboards

Run parameterized queries and aggregates while keeping ADO.NET as the application contract.

UI

Desktop & rich clients

Integrate DataTable/DataSet, binding, DataGridView and traditional enterprise UI components.

API

Services & APIs

Use the provider from ASP.NET Core and .NET services while isolating business logic from SharePoint APIs.

LEARNING EXPERIENCE

A guided Windows Forms sample is planned.

The planned C# sample is intended as a tutorial and proof-of-concept base, using the same lists employed in provider validation and covering connection, parameters, DataAdapter binding, CRUD, JOINs, aggregations, UNION, schema and diagnostics.

Connection & authentication SELECT & parameters DataTable / DataGridView CRUD JOIN / GROUP BY / HAVING UNION / INSERT ... SELECT Schema & diagnostics
GDG.SP.ADOProvider

A SharePoint-native relational layer for .NET teams.

ADO.NET as the application contract, REST-only as the runtime, pragmatic SQL as the language, and semantic correctness as the optimization boundary.

Standard for .NET teamsADO.NET instead of scattered SharePoint-specific APIs.
REST-onlyOne operational runtime for Online and Server SE, without CSOM dependencies.
Pragmatic SQLJOIN, aggregates, DISTINCT, paging, UNION and practical DML for the 1.0 core.
Correctness firstPush down when safe; fall back locally when the complete rowset cannot exist on the server.

Current status: the planned SQL/ADO.NET 1.0 core is complete through UNION, expression-based DML and INSERT ... SELECT, with validation across .NET Framework 4.8 / .NET 8 and SharePoint Online / Server SE.

Discuss an integration scenario