입력 데이터 스키마 정의

사용자가 입력 데이터 스키마를 정의하는 방법을 설명합니다.

1. 입력 스키마 파일 추가

솔루션 상의 MyInputs 폴더에서 우클릭하여 "추가(D)" > "새 항목 추가(W)..."를 선택합니다. 항목 리스트에서 InputData 항목을 선택 후 [스키마 명].cs 으로 이름을 설정하고 "추가(A)" 버튼을 눌러 추가합니다. 아래의 예시는 "SampleData"라는 이름의 입력 스키마를 추가하는 화면입니다.

2. 입력 스키마 정의 및 KeyMappings 추가

추가된 입력 스키마 파일에 컬럼 명과 데이터 형식을 정의합니다. 정의할 수 있는 컬럼의 개수에는 제한이 없으며 필요한 만큼 자유롭게 추가 가능합니다. 아래의 예시는 String 형식의 2개의 컬럼 "COL_1", "COL_2"를 정의하는 화면입니다.

필요에 따라 KeyMappings를 추가하여 정의된 Key를 통해 데이터를 조회할 수 있습니다. KeyMappings는 스키마 파일의 생성자를 통해 추가할 수 있습니다. 아래의 예제 코드에서는 "COL_1"을 Key로 갖는 KeyMappings와 "COL1"과 "COL_2"를 Key로 갖는 KeyMappings를 각각 생성합니다. KeyMappings는 Int를 Key로 갖는 Dictionary 구조이며, KeyMappings의 Key를 통해 각각의 KeyMappings에 접근할 수 있습니다. KeyMappings를 통한 데이터 조회 방법은 여기를 참조하시기 바랍니다.

using Nodez.Data;
using Nodez.Data.Interface;
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;

namespace Nodez.Project.Template.MyInputs
{
    public class SampleData : IInputRow
    {
        // Define columns here (NOTICE: The column name defined here and the column name defined in the data file must match.)

        public string COL_1 { get; private set; }

        public string COL_2 { get; private set; }

        public SampleData()
        {
            // Define keys here (You can search data with the key defined here. Allow multiple keys)

            HashSet<string> key = new HashSet<string>();
            key.Add("COL_1");

            this.KeyMappings.Add(1, key);

            HashSet<string> key2 = new HashSet<string>();
            key2.Add("COL_1");
            key2.Add("COL_2");

            this.KeyMappings.Add(2, key);
        }
    }
}

입력 스키마 파일에 정의된 컬럼 명과 입력 데이터 파일에 정의된 컬럼 명이 반드시 일치해야 합니다. 입력 스키마 파일에 정의된 각 컬럼의 데이터 형식 또한 입력 데이터 파일에 정의된 내용과 일치되도록 정의하는 것을 권장합니다.

Last updated