DataAccessConnectorBase

DataAccessConnectorBase

AtlasX.Engine.DataAccess.Core.Base
Abstract base class สำหรับ database connector ทุกตัวใน DataAccess library

Namespace: AtlasX.Engine.DataAccess.Core.Base
Implements: IDataAccessConnector
Inherited by: OracleConnector, PostgreSqlConnector, SqlServerConnector, MongoDbConnector, RedisConnector

Properties

NameDescription
IsConnectedตรวจสอบว่า connection เปิดอยู่หรือไม่ (true = Open)

Methods

NameReturnDescription
OpenAsync(CancellationToken)voidเปิด connection ไปยัง database
CloseAsync(CancellationToken)voidปิด connection และ dispose resources
ExecuteStatementAsync(String, Dictionary, DbExecutionOptions, CancellationToken)intExecute SQL statement และคืนจำนวน rows ที่ได้รับผลกระทบ
ExecuteScalarStatementAsync<TResult>(String, Dictionary, DbExecutionOptions, CancellationToken)TResult?Execute SQL statement และคืนค่า scalar value
QueryStatementAsync<TResult>(String, Dictionary, DbExecutionOptions, CancellationToken)TResultExecute SQL SELECT และ map ผลลัพธ์เป็น TResult
ExecuteProcedureAsync(String, Dictionary, DbExecutionOptions, CancellationToken)QueryResultExecute Stored Procedure และคืน QueryResult
DisposeAsync()voidปิด connection และคืน resources ทั้งหมด

Methods Details

OpenAsync(CancellationToken)

เปิด connection ไปยัง database ถ้ายังไม่ได้เปิด
แต่หาก IsConnected เป็น true อยู่แล้วจะ skip โดยไม่เปิดซ้ำ

ParameterTypeRequiredDescription
cancellationTokenCancellationTokenOptionalToken สำหรับยกเลิก operation

CloseAsync(CancellationToken)

ปิด connection และ dispose resources
แต่หากconnection เป็น null หรือปิดอยู่แล้วจะ skip โดยไม่ทำอะไร

ParameterTypeRequiredDescription
cancellationTokenCancellationTokenOptionalToken สำหรับยกเลิก operation

ExecuteStatementAsync(String, Dictionary, DbExecutionOptions, CancellationToken)

Execute SQL statement (INSERT / UPDATE / DELETE) และคืนจำนวนรายการ (rows) ที่ได้รับผลกระทบ

ParameterTypeRequiredDescription
sqlstringRequiredSQL statement
parametersDictionary<string, object>?OptionalParameters สำหรับ SQL
optionsDbExecutionOptions?OptionalExecution options เช่น timeout
cancellationTokenCancellationTokenOptionalToken สำหรับยกเลิก operation

QueryStatementAsync<TResult>(String, Dictionary<String, Object>, DbExecutionOptions, CancellationToken)

Execute SQL SELECT statement และ map ผลลัพธ์เป็น TResult

ParameterTypeRequiredDescription
sqlstringRequiredSQL SELECT statement
parametersDictionary<string, object>?OptionalParameters สำหรับ SQL
optionsDbExecutionOptions?OptionalExecution options เช่น timeout
cancellationTokenCancellationTokenOptionalToken สำหรับยกเลิก operation

ExecuteProcedureAsync(String, Dictionary<String, Object>, DbExecutionOptions, CancellationToken)

Execute Stored Procedure และ map output parameters กลับเป็น QueryResult

ParameterTypeRequiredDescription
procedureNamestringRequiredชื่อ Stored Procedure
parametersDictionary<string, object>?OptionalInput parameters (ใช้ชื่อโดยไม่ต้องมี prefix PI_)
optionsDbExecutionOptions?OptionalExecution options เช่น timeout, trace
cancellationTokenCancellationTokenOptionalToken สำหรับยกเลิก operation

DisposeAsync()

ปิด connection และคืน resources ทั้งหมด