Skip to content

SQL-303: Retrieve StatusCode via GetStatusCodes

This statement retrieves every StatusCode row ordered by description via a full-table NHibernate LINQ query, executed from Services/SAIF.Services/Collections/CollectionsService.cs (L1113) and materialized with .ToList(). It backs GetStatusCodes, which supplies the complete list of legal collection status codes for collections processing.

Classification

Field Value
SQL ID SQL-303
Operation type Read
Execution method ORM (NHibernate LINQ)
Database Oracle
Schema [unqualified]**
Command type N/A (ORM-generated)
Business object CollectionsService
Criteria property N/A — ORM
Lifecycle method GetStatusCodes

Parameters

Parameter Direction Type Max length Description
(none) N/A N/A N/A Full-table read — no filter predicate

Tables

Table Access Columns used
LEGAL_COLLECTION_STATUS_CODE SELECT Code, CODE_DESCR

LINQ statement

Source: Services/SAIF.Services/Collections/CollectionsService.cs:1113

// Services/SAIF.Services/Collections/CollectionsService.cs:1113-1114
return Mapper.Map<StatusCode[]>(UnitOfWork.GetRepository<DataModel.StatusCode>()
    .Query().OrderBy(x => x.Description).ToList());

Sample SQL

Inferred SQL: This SQL was inferred from the LINQ statement above and the NHibernate mappings. It is not concrete SQL from source code; NHibernate generates the executed statement at runtime, so aliases, column order, join syntax, and bind-parameter names may differ.

-- Inferred from LINQ (NHibernate mapping translation); not concrete SQL
SELECT
  LCSC.Code,
  LCSC.CODE_DESCR
FROM LEGAL_COLLECTION_STATUS_CODE LCSC
ORDER BY LCSC.CODE_DESCR

Translation notes: - Id(x => x.Code) (StatusCodeMap.cs:12) has no .Column(...), so NHibernate uses the property name Code as the column name (Oracle resolves unquoted identifiers case-insensitively, so this matches a CODE column). - Mappings/Collections/CollectionsMap.cs also declares a StatusCodeMap but is not compiled (no Compile entry in SAIF.Data.NHibernate.csproj; StatusCodeMap.cs is compiled at csproj L468). - Full-table read; .ToList() materializes.

Operations and processes

Sources

  • Services/SAIF.Services/Collections/CollectionsService.cs (L1113)