markus / ConvertService / ServiceBase / Markus.Service.DataBase.Dapper / QueryParameters.cs @ 30d84e1a
이력 | 보기 | 이력해설 | 다운로드 (3.18 KB)
1 | d952e1d5 | taeseongkim | using Dapper; |
---|---|---|---|
2 | using System; |
||
3 | using System.Collections; |
||
4 | using System.Collections.Generic; |
||
5 | using System.Data; |
||
6 | using System.Linq; |
||
7 | using System.Text; |
||
8 | using System.Threading.Tasks; |
||
9 | using System.Linq.Expressions; |
||
10 | using System.Reflection; |
||
11 | using System.Reflection.Emit; |
||
12 | using System.ComponentModel; |
||
13 | using System.Data.SqlTypes; |
||
14 | using System.Dynamic; |
||
15 | using System.Globalization; |
||
16 | using System.Text.RegularExpressions; |
||
17 | using System.Diagnostics; |
||
18 | |||
19 | namespace Markus.Service.DataBase |
||
20 | { |
||
21 | public partial class QueryParameters : SqlMapper.IDynamicParameters |
||
22 | { |
||
23 | DBMSType DBMS; |
||
24 | |||
25 | public QueryParameters(DBMSType dbms) |
||
26 | { |
||
27 | DBMS = dbms; |
||
28 | } |
||
29 | |||
30 | //////////////////////////////////////////////////////////////////////////////////////////////////// Field |
||
31 | ////////////////////////////////////////////////////////////////////////////////////////// Private |
||
32 | |||
33 | #region Field |
||
34 | |||
35 | /// <summary> |
||
36 | /// 동적 매개 변수 목록 |
||
37 | /// </summary> |
||
38 | private readonly DynamicParameters dynamicParameters = new DynamicParameters(); |
||
39 | |||
40 | /// <summary> |
||
41 | /// 오라클 매개 변수 리스트 |
||
42 | /// </summary> |
||
43 | private readonly List<Npgsql.NpgsqlParameter> NpgsqlParameterList = new List<Npgsql.NpgsqlParameter>(); |
||
44 | |||
45 | #endregion |
||
46 | |||
47 | //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor |
||
48 | ////////////////////////////////////////////////////////////////////////////////////////// Public |
||
49 | |||
50 | #region 추가하기 - Add(name, value, dbType, direction, size) |
||
51 | |||
52 | /// <summary> |
||
53 | /// 추가하기 |
||
54 | /// </summary> |
||
55 | /// <param name="name">명칭</param> |
||
56 | /// <param name="value">값</param> |
||
57 | /// <param name="dbType">DB 타입</param> |
||
58 | /// <param name="direction">방향</param> |
||
59 | /// <param name="size">크기</param> |
||
60 | public void Add(string name, object value = null, DbType? dbType = null, ParameterDirection? direction = null, int? size = null) |
||
61 | { |
||
62 | if (DBMS == DBMSType.MSSQL) |
||
63 | { |
||
64 | this.dynamicParameters.Add(name, value, dbType, direction, size); |
||
65 | } |
||
66 | else |
||
67 | { |
||
68 | Npgsql.NpgsqlParameter parameter = new Npgsql.NpgsqlParameter(parameterName: name, parameterType: dbType) |
||
69 | { |
||
70 | Direction = direction.GetValueOrDefault() |
||
71 | }; |
||
72 | |||
73 | this.NpgsqlParameterList.Add(parameter); |
||
74 | } |
||
75 | } |
||
76 | |||
77 | #endregion |
||
78 | #region 추가하기 - Add(name, oracleDbType, direction) |
||
79 | |||
80 | /// <summary> |
||
81 | /// 추가하기 |
||
82 | /// </summary> |
||
83 | /// <param name="name">명칭</param> |
||
84 | /// <param name="oracleDbType">오라클 DB 타입</param> |
||
85 | /// <param name="direction">방향</param> |
||
86 | public void Add(string name, NpgsqlTypes.NpgsqlDbType dbType, ParameterDirection direction) |
||
87 | { |
||
88 | Npgsql.NpgsqlParameter parameter = new Npgsql.NpgsqlParameter(parameterName: name, parameterType: dbType) |
||
89 | { |
||
90 | Direction = direction |
||
91 | }; |
||
92 | |||
93 | this.NpgsqlParameterList.Add(parameter); |
||
94 | } |
||
95 | |||
96 | #endregion |
||
97 | } |
||
98 | } |