C# Class NSoft.NFramework.Data.AdoTool

ファイルを表示 Open project: debop/NFramework Class Usage Examples

Public Properties

Property Type Description
AdoIsolationLevel IsolationLevel
PARAMETER_PREFIX char[]

Private Properties

Property Type Description
ClearConnectionPoolInternal void
OpenConnection DbConnection

Public Methods

Method Description
CanConvertableSqlStringToCounting ( string selectSql ) : bool

조회용 쿼리문을 Count 쿼리문으로 변환 가능한지 판단한다. (DISTINCT, TOP 이 들어가면 안됩니다.)

ClearAllConnectionPools ( ) : void

기본 Database의 Connection Pool을 제거합니다.

ClearAllConnectionPools ( string databaseName ) : void

지정된 Database의 Connection Pool을 모두 제거합니다.

ClearAllConnectionPoolsFromConfiguration ( ) : void

환경설정에 정의된 모든 Database Connection 에 해당하는 ConnectionPool을 제거합니다.

CreateDatabase ( ) : Database

create Database instance for default connection string

CreateDatabase ( string dbName ) : Database

create Database instance for the specified connection string name. if dbName is null or empty string, using default database.

CreateTransactionScope ( TransactionScopeOption scopeOption = TransactionScopeOption.Required, IsolationLevel isolationLevel = IsolationLevel.ReadCommitted ) : TransactionScope

새로운 TransactionScope 를 생성한다.

CreateTransactionScopeConnection ( Database db ) : DbConnection

현재 Transaction에 해당하는 Connection을 반환한다. 이미 열려진 Connection을 재활용하거나, TransactionScope가 활성화되어 있다면 새로운 connection을 빌드해서 반환한다. TransactionScope도 없고, Database관련해서 아직 만들어진게 없다면, 새로운 DbConnection을 생성하고, Open() 해서 반환한다.

CreateTransactionScopeConnection ( Database db, bool &newConnectionCreated, DbConnection>.Func connectionFactory = null ) : DbConnection

현재 Transaction에 해당하는 Connection을 반환한다. 이미 열려진 Connection을 재활용하거나, TransactionScope가 활성화되어 있다면 새로운 connection을 빌드해서 반환한다. TransactionScope도 없고, Database관련해서 아직 만들어진게 없다면, 새로운 DbConnection을 생성하고, Open() 해서 반환한다.

EnlistCommandToActiveTransaction ( this repository, DbCommand cmd ) : void

지정한 Command를 현재 활성화된 Transaction에 참여시킵니다.

ForceCloseConnection ( DbCommand command ) : void

command의 Connnection 을 닫습니다.

GetCountingSqlString ( string selectSql ) : string

조회용 문장으로부터 결과 셋의 Count를 세는 쿼리 문장으로 변환합니다. NOTE : 현재 지원되지 않는 코드는 DISTINCT, TOP 이 들어간 코드입니다.

IsSqlString ( string query ) : bool

지정한 쿼리문이 일반적인 쿼리문인지, Stored Procedure 이름인지 판단한다.

DAAB의 Database에는 GetSqlStringCommand, GetProcedureCommand 만 지원한다. 동적으로 실행할 쿼리문이 결정될 때에는 GetCommand 와 같이 일반 SQL 문장과 Procedure Name을 구분하지 않고, Command를 빌드해주는 함수가 필요하다.

Ping ( this repository ) : bool

repository에 해당하는 Database에 연결이 제대뢰 되는지 확인합니다.

ToAdoResultSet ( this reader, int firstResult, int maxResults ) : AdoResultSet

지정한 IDataReader 정보를 읽어 AdoResultSet으로 빌드합니다.

UseTransactionScope ( ) : void

지정된 Action 들을 하나의 Transaction Scope로 묶어서 처리합니다.

UseTransactionScope ( System.Action actionToExecute ) : void

지정된 Action을 Transaction Scope로 묶어서 처리합니다.

UseTransactionScope ( IsolationLevel isolationLevel ) : void

지정된 Action 들을 하나의 Transaction Scope로 묶어서 처리합니다.

UseTransactionScope ( TransactionScopeOption scopeOption ) : void

지정된 Action 들을 하나의 Transaction Scope로 묶어서 처리합니다.

UseTransactionScope ( TransactionScopeOption scopeOption, IsolationLevel isolationLevel ) : void

지정된 Action 들을 하나의 Transaction Scope로 묶어서 처리합니다.

Private Methods

Method Description
ClearConnectionPoolInternal ( string providerName ) : void
OpenConnection ( Database db, int tryCount = 5 ) : DbConnection

DAAB Database에서 새로운 Connection을 생성하고 Open 합니다.

Method Details

CanConvertableSqlStringToCounting() public static method

조회용 쿼리문을 Count 쿼리문으로 변환 가능한지 판단한다. (DISTINCT, TOP 이 들어가면 안됩니다.)
public static CanConvertableSqlStringToCounting ( string selectSql ) : bool
selectSql string
return bool

ClearAllConnectionPools() public static method

기본 Database의 Connection Pool을 제거합니다.
public static ClearAllConnectionPools ( ) : void
return void

ClearAllConnectionPools() public static method

지정된 Database의 Connection Pool을 모두 제거합니다.
public static ClearAllConnectionPools ( string databaseName ) : void
databaseName string
return void

ClearAllConnectionPoolsFromConfiguration() public static method

환경설정에 정의된 모든 Database Connection 에 해당하는 ConnectionPool을 제거합니다.
public static ClearAllConnectionPoolsFromConfiguration ( ) : void
return void

CreateDatabase() public static method

create Database instance for default connection string
public static CreateDatabase ( ) : Database
return Database

CreateDatabase() public static method

create Database instance for the specified connection string name. if dbName is null or empty string, using default database.
public static CreateDatabase ( string dbName ) : Database
dbName string database connection string name
return Database

CreateTransactionScope() public static method

새로운 TransactionScope 를 생성한다.
public static CreateTransactionScope ( TransactionScopeOption scopeOption = TransactionScopeOption.Required, IsolationLevel isolationLevel = IsolationLevel.ReadCommitted ) : TransactionScope
scopeOption TransactionScopeOption TransactionScopeOption 값
isolationLevel IsolationLevel Transaction 격리수준
return TransactionScope

CreateTransactionScopeConnection() public static method

현재 Transaction에 해당하는 Connection을 반환한다. 이미 열려진 Connection을 재활용하거나, TransactionScope가 활성화되어 있다면 새로운 connection을 빌드해서 반환한다. TransactionScope도 없고, Database관련해서 아직 만들어진게 없다면, 새로운 DbConnection을 생성하고, Open() 해서 반환한다.
public static CreateTransactionScopeConnection ( Database db ) : DbConnection
db Database instance of
return DbConnection

CreateTransactionScopeConnection() public static method

현재 Transaction에 해당하는 Connection을 반환한다. 이미 열려진 Connection을 재활용하거나, TransactionScope가 활성화되어 있다면 새로운 connection을 빌드해서 반환한다. TransactionScope도 없고, Database관련해서 아직 만들어진게 없다면, 새로운 DbConnection을 생성하고, Open() 해서 반환한다.
public static CreateTransactionScopeConnection ( Database db, bool &newConnectionCreated, DbConnection>.Func connectionFactory = null ) : DbConnection
db Database instance of
newConnectionCreated bool 새로 Connection이 만들어졌는지
connectionFactory DbConnection>.Func Connection을 새로 만드는 메소드
return DbConnection

EnlistCommandToActiveTransaction() public static method

지정한 Command를 현재 활성화된 Transaction에 참여시킵니다.
public static EnlistCommandToActiveTransaction ( this repository, DbCommand cmd ) : void
repository this
cmd DbCommand
return void

ForceCloseConnection() public static method

command의 Connnection 을 닫습니다.
public static ForceCloseConnection ( DbCommand command ) : void
command DbCommand
return void

GetCountingSqlString() public static method

조회용 문장으로부터 결과 셋의 Count를 세는 쿼리 문장으로 변환합니다. NOTE : 현재 지원되지 않는 코드는 DISTINCT, TOP 이 들어간 코드입니다.
public static GetCountingSqlString ( string selectSql ) : string
selectSql string
return string

IsSqlString() public static method

지정한 쿼리문이 일반적인 쿼리문인지, Stored Procedure 이름인지 판단한다.
DAAB의 Database에는 GetSqlStringCommand, GetProcedureCommand 만 지원한다. 동적으로 실행할 쿼리문이 결정될 때에는 GetCommand 와 같이 일반 SQL 문장과 Procedure Name을 구분하지 않고, Command를 빌드해주는 함수가 필요하다.
public static IsSqlString ( string query ) : bool
query string 검사할 SQL 문장
return bool

Ping() public static method

repository에 해당하는 Database에 연결이 제대뢰 되는지 확인합니다.
public static Ping ( this repository ) : bool
repository this
return bool

ToAdoResultSet() public static method

지정한 IDataReader 정보를 읽어 AdoResultSet으로 빌드합니다.
public static ToAdoResultSet ( this reader, int firstResult, int maxResults ) : AdoResultSet
reader this DataReader
firstResult int 첫번째 레코드 인덱스 (0부터 시작)
maxResults int 최대 레코드 수 (1 이상, null|0 이면 최대 레코드)
return AdoResultSet

UseTransactionScope() public static method

지정된 Action 들을 하나의 Transaction Scope로 묶어서 처리합니다.
public static UseTransactionScope ( ) : void
return void

UseTransactionScope() public static method

지정된 Action을 Transaction Scope로 묶어서 처리합니다.
public static UseTransactionScope ( System.Action actionToExecute ) : void
actionToExecute System.Action
return void

UseTransactionScope() public static method

지정된 Action 들을 하나의 Transaction Scope로 묶어서 처리합니다.
public static UseTransactionScope ( IsolationLevel isolationLevel ) : void
isolationLevel IsolationLevel
return void

UseTransactionScope() public static method

지정된 Action 들을 하나의 Transaction Scope로 묶어서 처리합니다.
public static UseTransactionScope ( TransactionScopeOption scopeOption ) : void
scopeOption TransactionScopeOption
return void

UseTransactionScope() public static method

지정된 Action 들을 하나의 Transaction Scope로 묶어서 처리합니다.
public static UseTransactionScope ( TransactionScopeOption scopeOption, IsolationLevel isolationLevel ) : void
scopeOption TransactionScopeOption TransactionScopeOption 값
isolationLevel IsolationLevel Transaction 격리수준
return void

Property Details

AdoIsolationLevel public_oe static_oe property

ADO.NET Transaction 시의 기본 격리 수준 (= System.Transactions.IsolationLevel.Unspecified)
public static IsolationLevel AdoIsolationLevel
return IsolationLevel

PARAMETER_PREFIX public_oe static_oe property

Command Parameter의 DataSource별 접두사
public static char[] PARAMETER_PREFIX
return char[]