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

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

DataSource դասը նախատեսված է կլիենտական ծրագրից տվյալների աղբյուրը աշխատացնելու և արդյունքը վերադարձնելու ֆունկցիոնալությունը ապահովելու համար։

Տվյալների աղբյուրը աշխատում է հերթագրման միջոցով։ Տե՛ս Ասինխրոն մշակում կիրառությունների սերվերի վրա:

Օգտագործման օրինակներ։

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

Client

public ApiClient Client { get; set; }

Վերադարձնում կամ նշանակում է ApiClient դասի օբյեկտ, որը նախատեսված է տվյալների աղբյուրի կատարման ընթացքում կլիենտից դեպի սերվեր անհրաժեշտ հարցումներ կատարելու համար։

Այս հատկությունը հարկավոր է լրացնել DataSource դասի օբյեկտը ստեղծելուց անմիջապես հետո։

Definition

public DataSourceDefinition Definition { get; set; }

Վերադարձնում կամ նշանակում է տվյալների աղբյուրի նկարագրությունը, որը պարունակում է տվյալների աղբյուրի, սյուների և պարամետրերի հատկությունները։

Այս հատկությունը լրացվում է LoadDefinitionAsync մեթոդի կանչով։

Այդ օբյեկտը կարելի է քեշավորել և բազմակի օգտագործել։ Տե՛ս օրինակը։

ExtenderSchema

public ExtenderSchemaEx ExtenderSchema { get; set; }

Վերադարձնում կամ նշանակում է տվյալների աղբյուրի ընդլայնման նկարագրությունը, որը պարունակում է ընդլայնման ներքին անունը, պարամետրերի ու սյուների հատկությունները։

Այս հատկությանը արժեք փոխանցելու դեպքում տվյալների աղբյուրը կատարելիս նաև հաշվարկվում է ընդլայնումը։

Այս հատկությունը լրացվում է GetSchemaAsync մեթոդի կանչով՝ փոխանցելով ընդլայնման ներքին անունը։

ds.ExtenderSchema = await apiClient.Extender.GetSchemaAsync("CreatDocExtended");

Տե՛ս օրինակը։

FetchSize

public int FetchSize { get; set; }

Տվյալների աղբյուրի կատարման արդյունքում վերադարձվող տողերը սերվիսից կլիենտ բեռնվում են կտոր առ կտոր։

Այս հատկությունը վերադարձնում կամ նշանակում է բեռնման յուրաքանչյուր կտորի տողերի քանակը՝ բացառությամբ առաջինի կտորի։

FirstFetchSize

public int FirstFetchSize { get; set; }

Տվյալների աղբյուրի կատարման արդյունքում վերադարձվող տողերը սերվիսից կլիենտ բեռնվում են կտոր առ կտոր։

Այս հատկությունը վերադարձնում կամ նշանակում է բեռնման առաջին կտորի տողերի քանակը։

EncodeResultUnicode

public bool EncodeResultUnicode { get; set; }

Վերադարձնում կամ նշանակում է տվյալների աբյուրի արդյունքների յունիկոդ կոդավորմամբ լինելը։ false արժեքի դեպքում վերադարձնում է ANSI կոդավորմամբ։

Մեթոդներ

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 - Տվյալների աղբյուրի նշված նույնականացուցիչով ֆիլտրման արժեք։ Տե՛ս IsUpdatable։
  • cancellationToken - Ընդհատման օբյեկտ:
  • timeout - Տվյալների աղբյուրի աշխատանքի առավելագույն ժամանակը։ Արժեք չփոխանցելու դեպքում առավելագույն ժամանակ համարվելու է 180 վայրկյան (3 րոպե)։

Oրինակ

LoadDefinitionAsync

public async Task LoadDefinitionAsync(string name, CancellationToken cancellationToken = default)

Բեռնում է տվյալների աղբյուրի նկարագրությունը և վերագրում Definition հատկությանը։

Պարամետրեր

  • name - Տվյալների աղբյուրի ներքին անունը։
  • 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 - Տվյալների աղբյուրի նշված նույնականացուցիչով ֆիլտրման արժեք։ Տե՛ս IsUpdatable։
  • cancellationToken - Ընդհատման օբյեկտ:
  • timeout - Տվյալների աղբյուրի աշխատանքի առավելագույն ժամանակը։ Արժեք չփոխանցելու դեպքում առավելագույն ժամանակ համարվելու է 180 վայրկյան (3 րոպե)։

Oրինակ