# System.Data

**Kind:** Service

**Source:** `Pams/Core/Pams.Security/Pams.Security.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

NuGet package dependency

`System.Data` is a NuGet package dependency declared by `Pams.Security.csproj`. It supplies .NET data-access types that Pams.Security can reference when working with database-related abstractions.

## Diagram

```mermaid
sequenceDiagram
    participant Project as Pams.Security.csproj
    participant NuGet as NuGet Restore
    participant Package as System.Data
    participant Security as Pams.Security Code

    Project->>NuGet: Restore package dependency
    NuGet->>Package: Resolve System.Data
    Package-->>NuGet: Download assembly metadata
    NuGet-->>Project: Add package reference
    Security->>Package: Reference data-access types
```

## Usage

```typescript
import { execFileSync } from "node:child_process";

// Restore the NuGet dependencies declared in Pams.Security.csproj.
execFileSync(
  "dotnet",
  ["restore", "Pams/Core/Pams.Security/Pams.Security.csproj"],
  { stdio: "inherit" }
);

// Build the project after package restoration.
execFileSync(
  "dotnet",
  ["build", "Pams/Core/Pams.Security/Pams.Security.csproj"],
  { stdio: "inherit" }
);
```

## AI Coding Instructions

- Keep the `System.Data` dependency declared in `Pams.Security.csproj` when code references data-access types from that package.
- Run `dotnet restore` after changing package references or updating NuGet package versions.
- Check the target framework before changing this legacy-format project file or its dependency declarations.
- Do not add direct database-provider dependencies unless Pams.Security code needs provider-specific behavior.
