@@ -103,91 +103,91 @@ public List<DataDictionary> FetchData(string selectSql, bool upperCaseKeys = fal
103
103
}
104
104
105
105
/// <summary>
106
- /// Asynchronously executes and retrieves records for 'Select' queries from the database.
107
- /// Converts column names to keys holding values, with multiple database rows returned into a list.
108
- /// Note: Use aliases in query for similar column names.
106
+ /// Executes and retrieves records for 'Select' queries from the database.
109
107
/// </summary>
108
+ /// <typeparam name="T">Object entity to return data mapped into.</typeparam>
110
109
/// <param name="selectSql">'Select' query.</param>
111
- /// <param name="upperCaseKeys">Boolean parameter to return dictionary keys in uppercase . Default - <c>false</c>.</param>
112
- /// <returns>List of <see cref="DataDictionary"/> with column names as keys holding values into a list for multiple rows of data .</returns>
113
- public async Task < List < DataDictionary > > FetchDataAsync ( string selectSql , bool upperCaseKeys = false )
110
+ /// <param name="strict">Enables fetch data only for object type <typeparamref name="T"/> properties existing in database query result . Default - <c>false</c>.</param>
111
+ /// <returns>List of data rows mapped into object of type <typeparamref name="T"/> .</returns>
112
+ public List < T > FetchData < T > ( string selectSql , bool strict = false ) where T : new ( )
114
113
{
115
- var dataList = new List < DataDictionary > ( ) ;
114
+ var dataList = new List < T > ( ) ;
116
115
if ( Database . Equals ( DB . MSSQL ) )
117
116
{
118
117
using ( var msSqlDBConnection = GetSqlServerConnection ( ) )
119
118
{
120
119
var _systemAdapter = new MSSQL . Adapter ( ) ;
121
- dataList = await _systemAdapter . FetchDataAsync ( selectSql , msSqlDBConnection . SqlConnection , upperCaseKeys ) ;
120
+ dataList = _systemAdapter . FetchData < T > ( selectSql , msSqlDBConnection . SqlConnection , strict ) ;
122
121
}
123
122
}
124
123
else if ( Database . Equals ( DB . MySQL ) )
125
124
{
126
125
using ( var mySqlDBConnection = GetMySqlConnection ( ) )
127
126
{
128
127
var _systemAdapter = new MySQL . Adapter ( ) ;
129
- dataList = await _systemAdapter . FetchDataAsync ( selectSql , mySqlDBConnection . MySqlConnection , upperCaseKeys ) ;
128
+ dataList = _systemAdapter . FetchData < T > ( selectSql , mySqlDBConnection . MySqlConnection , strict ) ;
130
129
}
131
130
}
132
131
else if ( Database . Equals ( DB . Oracle ) )
133
132
{
134
133
using ( var oracleDBConnection = GetOracleConnection ( ) )
135
134
{
136
135
var _systemAdapter = new Oracle . Adapter ( ) ;
137
- dataList = await _systemAdapter . FetchDataAsync ( selectSql , oracleDBConnection . OracleConnection , upperCaseKeys ) ;
136
+ dataList = _systemAdapter . FetchData < T > ( selectSql , oracleDBConnection . OracleConnection , strict ) ;
138
137
}
139
138
}
140
139
else if ( Database . Equals ( DB . PostgreSQL ) )
141
140
{
142
141
using ( var postgreSqlDBConnection = GetPostgreSqlConnection ( ) )
143
142
{
144
143
var _systemAdapter = new PostgreSQL . Adapter ( ) ;
145
- dataList = await _systemAdapter . FetchDataAsync ( selectSql , postgreSqlDBConnection . PostgreSQLConnection , upperCaseKeys ) ;
144
+ dataList = _systemAdapter . FetchData < T > ( selectSql , postgreSqlDBConnection . PostgreSQLConnection , strict ) ;
146
145
}
147
146
}
148
147
return dataList ;
149
148
}
150
149
151
150
/// <summary>
152
- /// Executes and retrieves records for 'Select' queries from the database.
151
+ /// Asynchronously executes and retrieves records for 'Select' queries from the database.
152
+ /// Converts column names to keys holding values, with multiple database rows returned into a list.
153
+ /// Note: Use aliases in query for similar column names.
153
154
/// </summary>
154
- /// <typeparam name="T">Object entity to return data mapped into.</typeparam>
155
155
/// <param name="selectSql">'Select' query.</param>
156
- /// <param name="strict">Enables fetch data only for object type <typeparamref name="T"/> properties existing in database query result . Default - <c>false</c>.</param>
157
- /// <returns>List of data rows mapped into object of type <typeparamref name="T"/> .</returns>
158
- public List < T > FetchData < T > ( string selectSql , bool strict = false ) where T : new ( )
156
+ /// <param name="upperCaseKeys">Boolean parameter to return dictionary keys in uppercase . Default - <c>false</c>.</param>
157
+ /// <returns>List of <see cref="DataDictionary"/> with column names as keys holding values into a list for multiple rows of data .</returns>
158
+ public async Task < List < DataDictionary > > FetchDataAsync ( string selectSql , bool upperCaseKeys = false )
159
159
{
160
- var dataList = new List < T > ( ) ;
160
+ var dataList = new List < DataDictionary > ( ) ;
161
161
if ( Database . Equals ( DB . MSSQL ) )
162
162
{
163
163
using ( var msSqlDBConnection = GetSqlServerConnection ( ) )
164
164
{
165
165
var _systemAdapter = new MSSQL . Adapter ( ) ;
166
- dataList = _systemAdapter . FetchData < T > ( selectSql , msSqlDBConnection . SqlConnection , strict ) ;
166
+ dataList = await _systemAdapter . FetchDataAsync ( selectSql , msSqlDBConnection . SqlConnection , upperCaseKeys ) ;
167
167
}
168
168
}
169
169
else if ( Database . Equals ( DB . MySQL ) )
170
170
{
171
171
using ( var mySqlDBConnection = GetMySqlConnection ( ) )
172
172
{
173
173
var _systemAdapter = new MySQL . Adapter ( ) ;
174
- dataList = _systemAdapter . FetchData < T > ( selectSql , mySqlDBConnection . MySqlConnection , strict ) ;
174
+ dataList = await _systemAdapter . FetchDataAsync ( selectSql , mySqlDBConnection . MySqlConnection , upperCaseKeys ) ;
175
175
}
176
176
}
177
177
else if ( Database . Equals ( DB . Oracle ) )
178
178
{
179
179
using ( var oracleDBConnection = GetOracleConnection ( ) )
180
180
{
181
181
var _systemAdapter = new Oracle . Adapter ( ) ;
182
- dataList = _systemAdapter . FetchData < T > ( selectSql , oracleDBConnection . OracleConnection , strict ) ;
182
+ dataList = await _systemAdapter . FetchDataAsync ( selectSql , oracleDBConnection . OracleConnection , upperCaseKeys ) ;
183
183
}
184
184
}
185
185
else if ( Database . Equals ( DB . PostgreSQL ) )
186
186
{
187
187
using ( var postgreSqlDBConnection = GetPostgreSqlConnection ( ) )
188
188
{
189
189
var _systemAdapter = new PostgreSQL . Adapter ( ) ;
190
- dataList = _systemAdapter . FetchData < T > ( selectSql , postgreSqlDBConnection . PostgreSQLConnection , strict ) ;
190
+ dataList = await _systemAdapter . FetchDataAsync ( selectSql , postgreSqlDBConnection . PostgreSQLConnection , upperCaseKeys ) ;
191
191
}
192
192
}
193
193
return dataList ;
0 commit comments