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); }
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); }
public string GetSqlSentence(ISqlPack sqlPack) { var plainPack = (PlainSqlPack)sqlPack; return(plainPack.Text); }
/// <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)); }
/// <summary>설정된 쿼리 문장의 명령을 수행하고 수행 결과의 첫번째 항목을 다이나믹 객체로 가져옵니다.</summary> /// <param name="sqlPack">데이터베이스에서 실행한 SQL 쿼리 명령</param> /// <returns>명령 수행 결과</returns> public static dynamic QueryFirst(this IDataAccessService service, ISqlPack sqlPack) { return(service.QueryFirst <dynamic>(sqlPack)); }
/// <summary>설정된 쿼리 문장의 명령을 수행하고 수행 결과의 컬럼 이름과 매치되는 속성을 가진 다이나믹 객체의 목록을 반환합니다.</summary> /// <param name="sqlPack">데이터베이스에서 실행한 SQL 쿼리 명령</param> /// <returns>컬럼 이름과 매치되는 속성을 가진 다이나믹 객체의 목록</returns> public static IEnumerable <dynamic> Query(this IDataAccessService service, ISqlPack sqlPack) { return(service.Query <dynamic>(sqlPack)); }