Բովանդակություն

Ներածություն

IDBService դասը նախատեսված է տվյալների պահոցի հետ աշխատանքը ապահովելու համար։ Տալիս է SQL սերվերին միացում, բացում/փակում է տրանզակցիաներ։

Մեթոդներ

ActiveTrans

public bool ActiveTrans();

Ստուգում է ակտիվ տրանզակցիայի առկայությունը։

AppLock

public Task AppLock(string resource, 
                    string errorMsg = "", 
                    string mode = "Exclusive", 
                    string owner = "Transaction", 
                    int timeout = 0, 
                    string dbPrincipal = "public");

Ստեղծում է SQL արգելափակում (lock) տրված անունով ռեսուրսի վրա։ Եթե արգելափակումը չի ստացվում ստեղծել, ապա առաջանում է սխալ։

Նախատեսված է զուգահեռ նույն ռեսուրսի հետ աշխատանքը սահմանափակելու համար։

Արգելափակման համար օգտագործվում է sp_getapplock պրոցեդուրան։

Պարամետրեր

BeginSqlServerDistributedTransaction

public void BeginSqlServerDistributedTransaction();

Բացում է բաշխված տրանզակցիա։

BeginSqlServerDistributedTransactionAsync

public Task BeginSqlServerDistributedTransactionAsync();

Բացում է բաշխված տրանզակցիա։

BeginTrans

public void BeginTrans();

Սկսում է SQL տրանզակցիա։

BeginTransAsync

public Task BeginTransAsync();

Սկսում է SQL տրանզակցիա։

CommitTrans

public void CommitTrans();

Ավարտում է SQL տրանզակցիան։

CommitTransAsync

public Task CommitTransAsync();

Ավարտում է SQL տրանզակցիան։

CreateAdditionalConnection

public SqlConnection CreateAdditionalConnection(bool pooling = true, 
                                                string connectionName = "", 
                                                bool isReadonly = false);

Բացում և վերադարձնում է նոր SQL միացում դեպի տվյալների պահոց։

Պարամետրեր

CreateCommand

public SqlCommand CreateCommand(TimeoutType timeoutType = TimeoutType.QueryTimeout);

Ստեղծում է SqlCommand, և անմիջապես լրացնում է CommandTimeout ըստ օգտագործողի դրույթներում սահմանված հացման առավելագույն ժամանակի։

Պարամետրեր

CreateReadOnlyConnection

public SqlConnection CreateReadOnlyConnection(bool pooling = true);

Ստեղծում է միայն կարդալու իրավասությամբ լրացուցիչ SQL միացում դեպի հիմնական տվյալների պահոց։

Պարամետրեր

  • pooling - Օգտագործել միացումների քեշ, թե ոչ։

GetApproximateServerDate

public Task<DateTime> GetApproximateServerDate();

Վերադարձնում է SQL սերվիսի ընթացիկ ամսաթիվը/ժամը որոշակի շեղման հավանականությամբ։

Ավելի արագ է աշխատում քան GetServerDate, քանզի աշխատում է ամեն անգամ SQL չկատարելու սկզբունքով։

GetServerDate

public Task<DateTime> GetServerDate();

Վերադարձնում է SQL սերվիսի ընթացիկ ամսաթիվը/ժամը կանչելով SQL-ի GetDate ֆունկցիան։

RollBackTrans

public void RollBackTrans();

Հետարկում է SQL տրանզակցիան։

RollBackTransAsync

public Task RollBackTransAsync();

Հետարկում է SQL տրանզակցիան։

SetIsolationLevel

public void SetIsolationLevel(IsolationLevel level);

Փոխում է բաց տրազակցիայի մեկուսացման մակարդակը։

Տրանզակցիաների բացվում են Read Committed մակարդակով։

Պարամետրեր

SetIsolationLevelAsync

public Task SetIsolationLevelAsync(IsolationLevel level);

Փոխում է բաց տրազակցիայի մեկուսացման մակարդակը։

Տրանզակցիաների բացվում են Read Committed մակարդակով։

Պարամետրեր

TryAppLock

public Task<bool> TryAppLock(string resource, 
                             string mode = "Exclusive", 
                             string owner = "Transaction", 
                             string dbPrincipal = "public");

Ստեղծում է SQL արգելափակում (lock) տրված անունով ռեսուրսի վրա և վերադարձնում է արժեք, որը ցույց է տալիս արդյոք արգելափակման տեղադրումը հաջողվել է, թե ոչ։

Նախատեսված է զուգահեռ նույն ռեսուրսի հետ աշխատանքը սահմանափակելու համար։

Արգելափակման համար օգտագործվում է sp_getapplock պրոցեդուրան։

Պարամետրեր

Հատկություններ

AllowSnapshotIsolation

public bool AllowSnapshotIsolation { get; }

Ցույց է տալիս, արդյոք թույլատված է հիմնական տվյալների պահոցում Snapshot մեկուսացման մակարդակը, տվյալների աղբյուրի հարցումների կատարման համար։

Connection

public SqlConnection Connection { get; }

Վերադարձնում է բաց SQL միացումը դեպի տվյալների պահոց։

CurrentIsolationLevel

public IsolationLevel CurrentIsolationLevel { get; }

Վերադարձնում է տրանզակցիաների կատարման ընթացիկ մեկուսացման մակարդակը։

Database

string Database { get; }

Վերադարձնում է ընթացիկ տվյալների պահոցի անունը:

ReadOnly

public bool ReadOnly { get; }

Ցույց է տալիս, արդյոք բաց SQL միացումը միայն կարդալու իրավասությամբ է, թե ոչ։

Server

public string Server { get; }

Վերադարձնում է SQL սերվերի անունը:

TransDeferred

public bool TransDeferred { get; set; }

Վերադարձնում կամ նշանակում է Fact տիպի օբյեկտների տվյալների պահոցում հետաձգված գրանցման հայտանիշը։ Նախնական արժեքը true է։

true արժեքի դեպքում DocumentService.StoreFact մեթոդի կանչի արդյունքում հաշվառումները պահվում են փաստաթղթի StoredFacts ցուցակում և գրանցվում տվյալների պահոցում փաստաթղթի գրանցման հետ միասին։ false արժեքրի դեպքում՝ գրանցվում են անմիջապես։