DataSource դաս
Բովանդակություն
Ներածություն
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րինակ