첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ IDbConnection 클래스 : QueryMultiple 확장 메소드를 사용해 2개 이상의 SELECT문 조회하기

------------------------------------------------------------------------------------------------------------------------


TestProject.zip


CodeGroupModel.cs

 

 

using System;

 

namespace TestProject

{

    /// <summary>

    /// 코드 그룹 모델

    /// </summary>

    public class CodeGroupModel

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Property

        ////////////////////////////////////////////////////////////////////////////////////////// Public

 

        #region ID - ID

 

        /// <summary>

        /// ID

        /// </summary>

        public string ID { get; set; }

 

        #endregion

        #region 명칭 - NAME

 

        /// <summary>

        /// 명칭

        /// </summary>

        public string NAME { get; set; }

 

        #endregion

    }

}

 

 

CodeModel.cs

 

 

using System;

 

namespace TestProject

{

    /// <summary>

    /// 코드 모델

    /// </summary>

    public class CodeModel

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Property

        ////////////////////////////////////////////////////////////////////////////////////////// Public

 

        #region ID - ID

 

        /// <summary>

        /// ID

        /// </summary>

        public string ID { get; set; }

 

        #endregion

        #region 그룹 ID - GROUP_ID

 

        /// <summary>

        /// 그룹 ID

        /// </summary>

        public string GROUP_ID { get; set; }

 

        #endregion

        #region 명칭 - NAME

 

        /// <summary>

        /// 명칭

        /// </summary>

        public string NAME { get; set; }

 

        #endregion

        #region 값 - VALUE

 

        /// <summary>

        ///

        /// </summary>

        public string VALUE { get; set; }

 

        #endregion

    }

}

 

 

Program.cs

 

 

using System;

using System.Collections.Generic;

using System.Linq;

 

using Npgsql;

 

using Dapper;

 

namespace TestProject

{

    /// <summary>

    /// 프로그램

    /// </summary>

    class Program

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method

        ////////////////////////////////////////////////////////////////////////////////////////// Static

        //////////////////////////////////////////////////////////////////////////////// Private

 

        #region 프로그램 시작하기 - Main()

 

        /// <summary>

        /// 프로그램 시작하기

        /// </summary>

        private static void Main()

        {

            string sql = @"

SELECT *

FROM   COM_CODE_GROUP

WHERE  ID = '5A9E697A-A154-4F21-85D6-258E457AF8DF';

 

SELECT *

FROM   COM_CODE

WHERE  GROUP_ID = '5A9E697A-A154-4F21-85D6-258E457AF8DF';

";

 

            string connectionString = @"Host=127.0.0.1;Port=5432;Database=test;User ID=postgres;Password=postgres";

 

            CodeGroupModel  codeGroup = null;

            List<CodeModel> codeList  = null;

 

            using(NpgsqlConnection connection = new NpgsqlConnection(connectionString))

            {

                var reader = connection.QueryMultiple(sql);

 

                using(reader)

                {

                    codeGroup = reader.ReadFirstOrDefault<CodeGroupModel>();

 

                    codeList = reader.Read<CodeModel>().ToList();

                }

            }

 

            if(codeGroup != null)

            {

                Console.WriteLine("CODE GROUP NAME : {0}", codeGroup.NAME);

            }

 

            if(codeList != null && codeList.Count > 0)

            {

                foreach(CodeModel code in codeList)

                {

                    Console.WriteLine("    {0}", code.NAME);

                }

            }

        }

 

        #endregion

    }

}

 

------------------------------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요