0
|
1 using System.Collections.Generic;
|
|
2
|
|
3 using BLToolkit.Data;
|
|
4
|
|
5 namespace BLToolkit.DataAccess
|
|
6 {
|
|
7 public class SprocQuery<T> : DataAccessorBase
|
|
8 {
|
|
9 #region Constructors
|
|
10
|
|
11 public SprocQuery()
|
|
12 {
|
|
13 }
|
|
14
|
|
15 public SprocQuery(DbManager dbManager)
|
|
16 : base(dbManager)
|
|
17 {
|
|
18 }
|
|
19
|
|
20 public SprocQuery(DbManager dbManager, bool dispose)
|
|
21 : base(dbManager, dispose)
|
|
22 {
|
|
23 }
|
|
24
|
|
25 #endregion
|
|
26
|
|
27 #region SelectByKey
|
|
28
|
|
29 public virtual T SelectByKey(DbManager db, params object[] key)
|
|
30 {
|
|
31 return db
|
|
32 .SetSpCommand(GetSpName(typeof(T), "SelectByKey"), key)
|
|
33 .ExecuteObject<T>();
|
|
34 }
|
|
35
|
|
36 public virtual T SelectByKey(params object[] key)
|
|
37 {
|
|
38 DbManager db = GetDbManager();
|
|
39
|
|
40 try
|
|
41 {
|
|
42 return SelectByKey(db, key);
|
|
43 }
|
|
44 finally
|
|
45 {
|
|
46 Dispose(db);
|
|
47 }
|
|
48 }
|
|
49
|
|
50 #endregion
|
|
51
|
|
52 #region SelectAll
|
|
53
|
|
54 public virtual List<T> SelectAll(DbManager db)
|
|
55 {
|
|
56 return db
|
|
57 .SetSpCommand(GetSpName(typeof(T), "SelectAll"))
|
|
58 .ExecuteList<T>();
|
|
59 }
|
|
60
|
|
61 public virtual L SelectAll<L>(DbManager db, L list)
|
|
62 where L : IList<T>
|
|
63 {
|
|
64 return db
|
|
65 .SetSpCommand(GetSpName(typeof(T), "SelectAll"))
|
|
66 .ExecuteList<L,T>(list);
|
|
67 }
|
|
68
|
|
69 public virtual L SelectAll<L>(DbManager db)
|
|
70 where L : IList<T>, new()
|
|
71 {
|
|
72 return SelectAll<L>(db, new L());
|
|
73 }
|
|
74
|
|
75 public virtual List<T> SelectAll()
|
|
76 {
|
|
77 DbManager db = GetDbManager();
|
|
78
|
|
79 try
|
|
80 {
|
|
81 return SelectAll(db);
|
|
82 }
|
|
83 finally
|
|
84 {
|
|
85 Dispose(db);
|
|
86 }
|
|
87 }
|
|
88
|
|
89 public virtual L SelectAll<L>(L list)
|
|
90 where L : IList<T>
|
|
91 {
|
|
92 DbManager db = GetDbManager();
|
|
93
|
|
94 try
|
|
95 {
|
|
96 return SelectAll(db, list);
|
|
97 }
|
|
98 finally
|
|
99 {
|
|
100 Dispose(db);
|
|
101 }
|
|
102 }
|
|
103
|
|
104 public virtual L SelectAll<L>()
|
|
105 where L : IList<T>, new()
|
|
106 {
|
|
107 return SelectAll<L>(new L());
|
|
108 }
|
|
109
|
|
110 #endregion
|
|
111
|
|
112 #region Insert
|
|
113
|
|
114 public virtual void Insert(DbManager db, T obj)
|
|
115 {
|
|
116 db
|
|
117 .SetSpCommand(
|
|
118 GetSpName(obj.GetType(), "Insert"),
|
|
119 db.CreateParameters(obj))
|
|
120 .ExecuteNonQuery();
|
|
121 }
|
|
122
|
|
123 public virtual void Insert(T obj)
|
|
124 {
|
|
125 var db = GetDbManager();
|
|
126
|
|
127 try
|
|
128 {
|
|
129 Insert(db, obj);
|
|
130 }
|
|
131 finally
|
|
132 {
|
|
133 Dispose(db);
|
|
134 }
|
|
135 }
|
|
136
|
|
137 #endregion
|
|
138
|
|
139 #region Update
|
|
140
|
|
141 public virtual int Update(DbManager db, T obj)
|
|
142 {
|
|
143 return db
|
|
144 .SetSpCommand(
|
|
145 GetSpName(obj.GetType(), "Update"),
|
|
146 db.CreateParameters(obj))
|
|
147 .ExecuteNonQuery();
|
|
148 }
|
|
149
|
|
150 public virtual int Update(T obj)
|
|
151 {
|
|
152 DbManager db = GetDbManager();
|
|
153
|
|
154 try
|
|
155 {
|
|
156 return Update(db, obj);
|
|
157 }
|
|
158 finally
|
|
159 {
|
|
160 Dispose(db);
|
|
161 }
|
|
162 }
|
|
163
|
|
164 #endregion
|
|
165
|
|
166 #region DeleteByKey
|
|
167
|
|
168 public virtual int DeleteByKey(DbManager db, params object[] key)
|
|
169 {
|
|
170 return db
|
|
171 .SetSpCommand(GetSpName(typeof(T), "Delete"), key)
|
|
172 .ExecuteNonQuery();
|
|
173 }
|
|
174
|
|
175 public virtual int DeleteByKey(params object[] key)
|
|
176 {
|
|
177 DbManager db = GetDbManager();
|
|
178
|
|
179 try
|
|
180 {
|
|
181 return DeleteByKey(db, key);
|
|
182 }
|
|
183 finally
|
|
184 {
|
|
185 Dispose(db);
|
|
186 }
|
|
187 }
|
|
188
|
|
189 #endregion
|
|
190
|
|
191 #region Delete
|
|
192
|
|
193 public virtual int Delete(DbManager db, T obj)
|
|
194 {
|
|
195 return db
|
|
196 .SetSpCommand(
|
|
197 GetSpName(obj.GetType(), "Delete"),
|
|
198 db.CreateParameters(obj))
|
|
199 .ExecuteNonQuery();
|
|
200 }
|
|
201
|
|
202 public virtual int Delete(T obj)
|
|
203 {
|
|
204 DbManager db = GetDbManager();
|
|
205
|
|
206 try
|
|
207 {
|
|
208 return Delete(db, obj);
|
|
209 }
|
|
210 finally
|
|
211 {
|
|
212 Dispose(db);
|
|
213 }
|
|
214 }
|
|
215
|
|
216 #endregion
|
|
217 }
|
|
218 }
|