# System.Data

**Kind:** Service

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

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

NuGet package dependency

`System.Data` is a NuGet package dependency declared in `Pams/HelperTool/HelperTool.csproj`. It supports `HelperTool` code that works with .NET data APIs, including data tables, readers, and database-related types.

## Diagram

```mermaid
sequenceDiagram
    participant Caller
    participant HelperTool
    participant SystemData as System.Data
    participant DataSource

    Caller->>HelperTool: Run helper command
    HelperTool->>SystemData: Create and process data objects
    SystemData->>DataSource: Read or write data
    DataSource-->>SystemData: Return data result
    SystemData-->>HelperTool: Return data objects
    HelperTool-->>Caller: Return command result
```

## Usage

```ts
import { execFile } from "node:child_process";
import { promisify } from "node:util";

const execFileAsync = promisify(execFile);

async function runHelperTool() {
  const result = await execFileAsync("dotnet", [
    "run",
    "--project",
    "Pams/HelperTool/HelperTool.csproj",
  ]);

  console.log(result.stdout);
}

runHelperTool().catch(console.error);
```

## AI Coding Instructions

- Keep `System.Data` references aligned with the target framework declared in `HelperTool.csproj`.
- Use .NET data types from `System.Data` only where `HelperTool` needs data-oriented APIs.
- Avoid changing NuGet package references without checking restore and build behavior for the legacy project format.
- Run `dotnet restore` and build `Pams/HelperTool/HelperTool.csproj` after dependency changes.
