SQL-082: EbillBatchQueryProvider.GetFirstBatch¶
This statement is a read operation invoked through ORM (NHibernate LINQ). Executed by EbillBatchQueryProvider.GetFirstBatch.
Classification¶
| Field | Value |
|---|---|
| SQL ID | SQL-082 |
| Operation type | Read |
| Execution method | ORM (NHibernate LINQ) |
| Database | Oracle* |
| Schema | [unqualified]** |
| Command type | N/A (ORM-generated) |
| Business object | EbillBatchQueryProvider |
| Criteria property | N/A — ORM |
| Lifecycle method | GetFirstBatch |
Parameters¶
| Parameter | Direction | Type | Max length | Description |
|---|---|---|---|---|
batchType |
Input | string | N/A | Method argument of EbillBatchQueryProvider.GetFirstBatch bound into the ORM expression; NHibernate generates the bind variable at runtime |
batchStatus |
Input | string | N/A | Method argument of EbillBatchQueryProvider.GetFirstBatch bound into the ORM expression; NHibernate generates the bind variable at runtime |
Tables¶
| Table | Access | Columns used |
|---|---|---|
| EBILL_BATCH | SELECT | EBILL_BATCH_SEQ_NUM, UPDATE_NUM, CREATE_DATE, SUBMISSION_DATE, UPDATE_DATE, UPDATE_USER, CLEARINGHOUSE_FILE_NAME, EBILL_BATCH_TYPE_CODE, RESPONSE_BATCH_SEQ_NUM, EBILL_BATCH_STATUS_CODE, PAYMENT_TRANS_STAT_SEQ_NUM, EBILL_CLEARINGHOUSE_SEQ_NUM |
LINQ statement¶
Source: Data/SAIF.Data/Queries/Claims/Ebilling/EbillBatchQueryProvider.cs:47. The repository is obtained at Data/SAIF.Data/Queries/Claims/Ebilling/EbillBatchQueryProvider.cs:19.
// Data/SAIF.Data/Queries/Claims/Ebilling/EbillBatchQueryProvider.cs:19
batchRepository = Factory.GetRepository<EbillBatch>().Query();
// Data/SAIF.Data/Queries/Claims/Ebilling/EbillBatchQueryProvider.cs:47
return batchRepository
.Where(b => b.Type.Code == batchType &&
b.Status.Code == batchStatus)
.OrderBy(o => o.Id)
.FirstOrDefault();
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 *
FROM (
SELECT
EB.EBILL_BATCH_SEQ_NUM,
EB.UPDATE_NUM,
EB.CREATE_DATE,
EB.SUBMISSION_DATE,
EB.UPDATE_DATE,
EB.UPDATE_USER,
EB.CLEARINGHOUSE_FILE_NAME,
EB.EBILL_BATCH_TYPE_CODE,
EB.RESPONSE_BATCH_SEQ_NUM,
EB.EBILL_BATCH_STATUS_CODE,
EB.PAYMENT_TRANS_STAT_SEQ_NUM,
EB.EBILL_CLEARINGHOUSE_SEQ_NUM
FROM EBILL_BATCH EB
WHERE EB.EBILL_BATCH_TYPE_CODE = :batchType
AND EB.EBILL_BATCH_STATUS_CODE = :batchStatus
ORDER BY EB.EBILL_BATCH_SEQ_NUM
)
WHERE ROWNUM <= 1
Translation notes:
- Oracle10 row limit for
FirstOrDefault(): the query (including anyORDER BY) is wrapped inROWNUM <= 1(limit written inline; NHibernate binds it as a parameter at runtime).
Operations and processes¶
Business rules¶
Sources¶
Data/SAIF.Data/Queries/Claims/Ebilling/EbillBatchQueryProvider.cs:47