Տվյալների աղբյուրի օգտագործման օրինակներ
Ներածություն
AS-8X համակարգում տվյալների աղբյուրի կատարման երկու հիմնական մեթոդ կա՝ չտիպիզացված և տիպիզացված: Այս երկու մեթոդները տարբերվում են իրենց իրականացման, օգտագործման և վերադարձվող արդյունքի առումով:
Խորհուրդ է տրվում միշտ օգտագործել տիպիզացված կատարման մեթոդը։
Հիմնական տարբերությունները
- Պարամետրերի փոխանցում
- Չտիպիզացված՝ օգտագործում է
Dictionary<string, object>
՝ պարամետրերի արժեքների պահման համար - Տիպիզացված՝ օգտագործում է պարամետրերը նկարագրող դասը
- Չտիպիզացված՝ օգտագործում է
- Կատարման մեթոդ
- Չտիպիզացված՝ DataSourceService դասի ExecuteDataSource մեթոդը
- Տիպիզացված՝ տվյալների աղբյուրի օբյեկտի Execute մեթոդը
- Վերադարձվող արդյունք
- Չտիպիզացված՝
List<R>
՝ որպեսR
վերադարձնելով տվյալների աղբյուրի տողը նկարագրող դասը - Տիպիզացված՝
DataSourceResult<R>
որպես
R` վերադարձնելով տվյալների աղբյուրի տողը նկարագրող դասը
- Չտիպիզացված՝
- Տիպի անվտանգություն
- Չտիպիզացված՝ ցածր, հնարավոր են runtime սխալներ
- Տիպիզացված՝ բարձր, compile-time ստուգումներ են իրականացվում
- Լրացուցիչ մետատվյալներ
- Չտիպիզացված՝ չի տրամադրում
- Տիպիզացված՝ տրամադրում է (տվյալների աղբյուրի սխեմա, կատարման ընթացքում առաջացած սխալների մասին ինֆորմացիա և այլն)
Օրինակներում օգտագործված տվյալների աղբյուրի նկարագրող դասին ծանոթանալու համար տես։
Չտիպիզացված կատարում
- Ստեղծել
Dictionary<string, object>
տիպի օբյեկտ՝ փոխանցելով կատարման համար անհրաժեշտ պարամետրերը՝ որպես key գրելով պարամետրի անունը, իսկ որպես value` արժեքը: - Կանչել DataSourceService դասի ExecuteDataSource մեթոդը՝ փոխանցելով տվյալների աղբյուրի ներքին անունը և պարամետրերի ցանկը:
// 1. Ստեղծել Dictionary և լրացնել պարամետրերը
var dsParams = new Dictionary<string, object>()
{
{"TreeId", "PARGROUP" },
{"NodeType", "Install" }
};
// 2. Կատարել տվյալների աղբյուրը
List<TreeNode.DataRow> dsResult = await this.dataSourceService.ExecuteDataSource<TreeNode.DataRow>("TreeNode", dsParams);
// ցիկլով անցնել տողերի վրայով և տպել արժեքները
foreach (TreeNode.DataRow row in dsResult)
{
Debug.WriteLine("Code - " + row.Code);
Debug.WriteLine("Name - " + row.Name);
Debug.WriteLine(string.Empty);
}
Տիպիզացված կատարում
- Ստանալ տվյալների աղբյուրի նկարագրող դասը DataSourceService.GetDataSource մեթոդով:
- Ստեղծել տվյալների աղբյուրի պարամետրերը նկարագրող դասի օբյեկտ՝ փոխանցելով կատարման համար անհրաժեշտ պարամետրերը։
- Կանչել տվյալների աղբյուրի դասի Execute մեթոդը՝ փոխանցելով պարամետրերը նկարագրող դասը:
// 1. Ստանալ տվյալների աղբյուրը
TreeNode dsTreeNode = this.dataSourceService.GetDataSource<TreeNode>();
// 2. Ստեղծել և լրացնել պարամետրերի նկարագրող դասի օբյեկտը
var dsParams = new TreeNode.Param {
TreeId = "PARGROUP",
NodeType = "Install"
};
// 3. Կատարել տվյալների աղբյուրը
DataSourceResult<TreeNode.DataRow> dsResult = await dsTreeNode.Execute(dsParams);
// ցիկլով անցնել տողերի վրայով և տպել արժեքները
foreach (TreeNode.DataRow row in dsResult.Rows)
{
Debug.WriteLine("Code - " + row.Code);
Debug.WriteLine("Name - " + row.Name);
Debug.WriteLine(string.Empty);
}