---
title: TaskQueryProvider
summary: API reference for TaskQueryProvider.
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data
reference_type: package
---

# TaskQueryProvider

Query provider exposing 6 data-access operation(s) (`GetAction`, `GetCategory`, `GetPriroity`, `GetSource`, `GetTask`, `GetTasksForUser`) against 5 distinct table(s); see [sql/index.md](../../sql/index.md) for the full ORM operation catalog.

## Purpose
- Provides read/write access to 5 table(s) via NHibernate `IQueryable<T>`/`GetRepository<T>()` calls documented in [sql/index.md](../../sql/index.md).
- Exposes 6 public query/command method(s) consumed by higher application layers; see [database-tables.md](../../database-tables.md) for the underlying schema.

## Context
- Namespace: `SAIF.Data.Queries.Tasks`
- Assembly/package: `SAIF.Data`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| GetSource | `TaskSource GetSource(string code)` | Executes an ORM query ([SQL-231](../../sql/SQL-231-task-query-provider-get-source.md)) against [TASK_SOURCE_CODE](../../database-tables.md#task_source_code). |
| GetAction | `TaskAction GetAction(string code)` | Executes an ORM query ([SQL-232](../../sql/SQL-232-task-query-provider-get-action.md)) against [TASK_ACTION_CODE](../../database-tables.md#task_action_code). |
| GetPriroity | `TaskPriority GetPriroity(string code)` | Executes an ORM query ([SQL-233](../../sql/SQL-233-task-query-provider-get-priroity.md)) against [TASK_PRIORITY_CODE](../../database-tables.md#task_priority_code). |
| GetCategory | `TaskCategory GetCategory(string code)` | Executes an ORM query ([SQL-234](../../sql/SQL-234-task-query-provider-get-category.md)) against [TASK_CATEGORY_CODE](../../database-tables.md#task_category_code). |
| GetTask | `Task GetTask(long taskId)` | Executes an ORM query ([SQL-235](../../sql/SQL-235-task-query-provider-get-task.md)) against [TASK](../../database-tables.md#task). |
| GetTasksForUser | `IEnumerable<Task> GetTasksForUser(string taskUser)` | Executes an ORM query ([SQL-236](../../sql/SQL-236-task-query-provider-get-tasks-for-user.md)) against [TASK](../../database-tables.md#task). |
| TaskQueryProvider(IRepositoryFactory factory, IPolicyQueryProvider policyQueryProvider, IClaimQueryProvider claimQueryProvider, IImageQueryProvider imageQueryProvider) | `TaskQueryProvider(IRepositoryFactory factory, IPolicyQueryProvider policyQueryProvider, IClaimQueryProvider claimQueryProvider, IImageQueryProvider imageQueryProvider)` | Initializes a new instance, wiring the repository factory used by this provider's query methods.* |

## Behavioral notes
- Query methods build LINQ expressions over `IQueryable<T>` obtained via `Factory.GetRepository<T>()` and execute them against the underlying NHibernate session.*

## Constraints and usage notes
- Instances are constructed with an `IRepositoryFactory` and are expected to be resolved through dependency injection rather than instantiated directly.*

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `Data/SAIF.Data/Queries/Tasks/TaskQueryProvider.cs`
