DataSource
Բովանդակություն
Ներածություն
DataSource դասը նախատեսված է Client ծրագրից Web API-ների միջոցով տվյալների աղբյուրը կատարելու և կատարման արդյունքը վերադարձնելու ֆունկցիոնալությունը ապահովելու համար։
Հատկություններ
Client
public ApiClient Client { get; set; }
Վերադարձնում կամ նշանակում է ApiClient
դասի օբյեկտ, որը նախատեսված է տվյալների աղբյուրի կատարման ընթացքում կլիենտից դեպի սերվեր անհրաժեշտ հարցումներ կատարելու համար։
Definition
public DataSourceDefinition Definition { get; set; }
Վերադարձնում կամ նշանակում է տվյալների աղբյուրի նկարագրությունը, որը պարունակում է տվյալների աղբյուրի, սյուների և պարամետրերի հատկությունները։
Տվյալների աղբյուրի նկարագրությունը կարելի է ստանալ DefinitionsCache
դասի GetDataSourceDefinition
մեթոդի միջոցով։
ExtenderSchema
public ExtenderSchemaEx ExtenderSchema { get; set; }
Վերադարձնում կամ նշանակում է տվյալների աղբյուրի ընդլայնման նկարագրությունը, որը պարունակում է ընդլայնման ներքին անունը, պարամետրերի ու սյուների հատկությունները։
Այս հատկությանը արժեք փոխանցելու դեպքում տվյալների աղբյուրը կատարելիս նաև հաշվարկվում է ընդլայնումը։
Տվյալների աղբյուրի ընդլայնման նկարագրությունը կարելի է ստանալ ApiClient դասի Extender հատկության GetSchema մեթոդի միջոցով՝ փոխանցելով ընդլայնման ներքին անունը։
ds.ExtenderSchema = apiClient.Extender.GetSchema("CreatDocExtended");
Օգտագործման օրինակին ծանոթանալու համար տե՛ս։
FetchSize
public int FetchSize { get; set; }
Տվյալների աղբյուրի կատարման արդյունքում վերադարձվող տողերը սերվիսից կլիենտ բեռնվում են բլոկ առ բլոկ։
Այս հատկությունը վերադարձնում կամ նշանակում է բեռնման յուրաքանչյուր բլոկի տողերի քանակը՝ բացառությամբ առաջինի։
FirstFetchSize
public int FirstFetchSize { get; set; }
Տվյալների աղբյուրի կատարման արդյունքում վերադարձվող տողերը սերվիսից կլիենտ բեռնվում են բլոկ առ բլոկ։
Այս հատկությունը վերադարձնում կամ նշանակում է բեռնման առաջին բլոկի տողերի քանակը։
ShowProgress
public bool ShowProgress { get; set; }
Վերադարձնում կամ նշանակում է տվյալների աղբյուրը կատարման և բեռնման գործընթացի պրոգրեսի պատուհանով ցուցադրման հայտանիշը։
EncodeResultUnicode
public bool EncodeResultUnicode { get; set; }
Վերադարձնում կամ նշանակում է, արդյոք տվյալների աբյուրի տողերի կոդավորումը Unicode
է, թե ոչ։
Մեթոդներ
ExecuteAsync
public Task<DataSourceResult<R>> ExecuteAsync(P param, HashSet<string> columns = default, string isn = null,
CancellationToken cancellationToken = default, TimeSpan? timeout = null)
Կատարում է տվյալների աղբյուրը, վերադարձնում ստացված տողերի ցուցակը և կատարման ընթացքում առաջացած սխալների մանրամասն տեղեկությունը։
Այս մեթոդը անհրաժեշտ է օգտագործել այնպիսի տվյալների աղբյուրների կատարման համար, որոնց կատարման ժամանակը չի գերազանցում 180 վայրկյանը։
Պարամետրեր
param
- Տվյալների աղբյուրի պարամետրերը նկարագրող դասի օբյեկտ՝ParameterCollection
դասի ժառանգ։columns
- Տվյալների աղբյուրի վերադարձվող սյուների անունների ցուցակ։ Արժեք չփոխանցելու դեպքում կատարման արդյունքում վերադարձվելու են բոլոր սյուները։isn
- Sql-based տվյալների աղբյուրում տող ավելացնելու, ջնջելու կամ թարմացնելու դեպքում տվյալների աղբյուրի կատարվելիս փոփոխված տողի isn-ը։cancellationToken
- Ընդհատման օբյեկտ:timeout
- Տվյալների աղբյուրի կատարման հարցման առավելագույն ժամանակը։ Արժեք չփոխանցելու դեպքում հարցման կատարման առավելագույն ժամանակ համարվելու է 180 վրկ (3 ր)։
Տե՛ս
- Տվյալների աղբյուրի կլիենտից կանչի օրինակ ոչ տիպիզացված եղանակով
- Տվյալների աղբյուրի կլիենտից կանչի օրինակ տիպիզացված եղանակով
- Տվյալների աղբյուրի կլիենտից կանչի օրինակ՝ օգտագործելով քեշավորում
LoadDefinitionAsync
public async Task LoadDefinitionAsync(string name, CancellationToken cancellationToken = default)
Բեռնում է տվյալների աղբյուրի նկարագրությունը և վերագրում Definition հատկությանը։
Պարամետրեր
param
- Տվյալների աղբյուրի ներքին անունը։cancellationToken
- Ընդհատման օբյեկտ:
LongExecuteAsync
public Task<DataSourceResult<R>> LongExecuteAsync(P param, HashSet<string> columns = default,
string isn = null, bool handleEvents = false,
CancellationToken cancellationToken = default, TimeSpan? timeout = null)
Կատարում է տվյալների աղբյուրը, վերադարձնում ստացված տողերի ցուցակը և կատարման ընթացքում առաջացած սխալների մանրամասն տեղեկությունը։
Այս մեթոդը անհրաժեշտ է օգտագործել այնպիսի տվյալների աղբյուրների կատարման համար, որոնց կատարման ժամանակը գերազանցում է 180 վայրկյանը կամ անհայտ է։
Մեթոդը հերթի է դնում տվյալների աղբյուրի կատարումը, հարցնում է կատարման ընթացքի մասին ինֆորմացիա, քանի դեռ կատարումը չի ավարտվել և վերջում վերադարձնում է կատարման արդյունքը։
Տե՛ս նաև Ասինխրոն մշակում կիրառությունների սերվերի վրա:
Պարամետրեր
R
- Տվյալների աղբյուրի տողը նկարագրող դասի օբյեկտ՝ExtendableRow
դասի ժառանգ։param
- Տվյալների աղբյուրի պարամետրերը նկարագրող դասի օբյեկտ՝ParameterCollection
դասի ժառանգ։columns
- Տվյալների աղբյուրի վերադարձվող սյուների անունների ցուցակ։ Արժեք չփոխանցելու դեպքում կատարման արդյունքում վերադարձվելու են բոլոր սյուները։isn
- Sql-based տվյալների աղբյուրում տող ավելացնելու, ջնջելու կամ թարմացնելու դեպքում տվյալների աղբյուրի կատարվելիս փոփոխված տողի isn-ը։cancellationToken
- Ընդհատման օբյեկտ:timeout
- Տվյալների աղբյուրի կատարման արդյունքի ստացման հարցման առավելագույն ժամանակը։ Արժեք չփոխանցելու դեպքում հարցման կատարման առավելագույն ժամանակ համարվելու է 180 վրկ (3 ր)։
Տե՛ս Տվյալների աղբյուրի և ընդլայնման կլիենտից կանչի օրինակ ոչ տիպիզացված եղանակով