Esempio n. 1
0
        public string GetSqlSentence(ISqlPack sqlPack)
        {
            string sql;
            var    embeddedPack = (EmbeddedSqlPack)sqlPack;

            var    resources = embeddedPack.Assembly.GetManifestResourceNames();
            string name      = null;

            if (resources.Any(n => n == embeddedPack.ResourceName))
            {
                name = embeddedPack.ResourceName;
            }
            else if (embeddedPack.HasAltResourceName && resources.Any(n => n == embeddedPack.AltResourceName))
            {
                name = embeddedPack.AltResourceName;
            }

            if (name == null)
            {
                throw new MissingManifestResourceException(embeddedPack.HasAltResourceName
                    ? $"'{embeddedPack.ResourceName}' 또는 '{embeddedPack.AltResourceName}' 으로 등록된 리소스를 찾을 수 없습니다."
                    : $"'{embeddedPack.ResourceName}' 이름으로 등록된 리소스를 찾을 수 없습니다.");
            }

            using (var stream = embeddedPack.Assembly.GetManifestResourceStream(name))
            {
                using (var reader = new StreamReader(stream))
                {
                    sql = reader.ReadToEnd();
                }
            }

            return(sql);
        }
Esempio n. 2
0
        public string GetSqlSentence(ISqlPack sqlPack)
        {
            if (sqlPack == null)
            {
                throw new ArgumentNullException(nameof(sqlPack));
            }

            string sql;
            var    filePack = (FileSqlPack)sqlPack;

            var primaryFileInfo   = FileProvider.GetFileInfo(filePack.FilePath);
            var secondaryFileInfo = filePack.HasAltPath ? FileProvider.GetFileInfo(filePack.AltFilePath) : null;

            if (!primaryFileInfo.Exists && !(secondaryFileInfo?.Exists ?? false))
            {
                return(null);
            }

            using (var stream = primaryFileInfo.Exists
                ? primaryFileInfo.CreateReadStream()
                : secondaryFileInfo?.CreateReadStream())
            {
                if (stream == null)
                {
                    return(null);
                }

                using (var reader = new StreamReader(stream))
                {
                    sql = reader.ReadToEnd();
                }
            }

            return(sql);
        }
Esempio n. 3
0
        public string GetSqlSentence(ISqlPack sqlPack)
        {
            var plainPack = (PlainSqlPack)sqlPack;

            return(plainPack.Text);
        }
Esempio n. 4
0
 /// <summary>
 ///     <para>설정된 쿼리 문장의 명령을 수행하고 하나의 결과를 다이나믹 객체로 가져오고 존재하지 않으면 기본값을 가져옵니다.</para>
 /// </summary>
 /// <param name="sqlPack">데이터베이스에서 실행한 SQL 쿼리 명령</param>
 /// <returns>명령 수행 결과</returns>
 public static dynamic QuerySingleOrDefault(this IDataAccessService service, ISqlPack sqlPack)
 {
     return(service.QuerySingle <dynamic>(sqlPack));
 }
Esempio n. 5
0
 /// <summary>설정된 쿼리 문장의 명령을 수행하고 수행 결과의 첫번째 항목을 다이나믹 객체로 가져옵니다.</summary>
 /// <param name="sqlPack">데이터베이스에서 실행한 SQL 쿼리 명령</param>
 /// <returns>명령 수행 결과</returns>
 public static dynamic QueryFirst(this IDataAccessService service, ISqlPack sqlPack)
 {
     return(service.QueryFirst <dynamic>(sqlPack));
 }
Esempio n. 6
0
 /// <summary>설정된 쿼리 문장의 명령을 수행하고 수행 결과의 컬럼 이름과 매치되는 속성을 가진 다이나믹 객체의 목록을 반환합니다.</summary>
 /// <param name="sqlPack">데이터베이스에서 실행한 SQL 쿼리 명령</param>
 /// <returns>컬럼 이름과 매치되는 속성을 가진 다이나믹 객체의 목록</returns>
 public static IEnumerable <dynamic> Query(this IDataAccessService service, ISqlPack sqlPack)
 {
     return(service.Query <dynamic>(sqlPack));
 }