Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Overview

Returns a DataTableDictionary by specified columns as key value to fast accessing.

DataTableDictionary DataTable.ToDictionary(columns: string, separator: string)

Arguments

string columns
Comma or semicolon separated column names. If not specified error is thrown.
string separator
Separator to use as dictionary key when multiple columns specified. If not specified "." value is used by default.

Remarks

If multiple columns shares same key, dictionary value would be array of data table row.

Example

Convert users to a dictionary
var employeeTable = $Database.Get({
    Parameters : {
        TargetSchema : 'HR',
        TargetTable : 'Employee'
    }
});

var employeeList = employeeTable.ToDictionary('RegistryNumber');

// employeeList now contains
// {
//    "1234" : { Id : "ABC", RegistryNumber: "1234", StartDate: ... }
//    "4567" : { Id : "DEF", RegistryNumber: "4567", StartDate: ... }
// }

var employee = employeeList.Get("12345");

Example

Using multiple columns
var employeeTable = $Database.Get({
    Parameters : {
        TargetSchema : 'HR',
        TargetTable : 'Employee'
    }
});

var employeeList = employeeTable.ToDictionary('Id,RegistryNumber');

// employeeList now contains
// {
//    "ABC.1234" : { Id : "ABC", RegistryNumber: "1234", StartDate: ... }
//    "DEF.4567" : { Id : "DEF", RegistryNumber: "4567", StartDate: ... }
// }

var employee = employeeList.Get("ABC.1234");

Examples

Convert users to a dictionary
var employeeTable = $Database.Get({
    Parameters : {
        TargetSchema : 'HR',
        TargetTable : 'Employee'
    }
});

var employeeList = employeeTable.ToDictionary('RegistryNumber');

// employeeList now contains
// {
//    "1234" : { Id : "ABC", RegistryNumber: "1234", StartDate: ... }
//    "4567" : { Id : "DEF", RegistryNumber: "4567", StartDate: ... }
// }

var employee = employeeList.Get("12345");
Using multiple columns
var employeeTable = $Database.Get({
    Parameters : {
        TargetSchema : 'HR',
        TargetTable : 'Employee'
    }
});

var employeeList = employeeTable.ToDictionary('Id,RegistryNumber');

// employeeList now contains
// {
//    "ABC.1234" : { Id : "ABC", RegistryNumber: "1234", StartDate: ... }
//    "DEF.4567" : { Id : "DEF", RegistryNumber: "4567", StartDate: ... }
// }

var employee = employeeList.Get("ABC.1234");
  • No labels