爱思开
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

359 lines
14 KiB

2 years ago
  1. 
  2. namespace NFine.Repository
  3. {
  4. //public class OracleDbDAL :IOracleDbDAL
  5. //{
  6. // public string connstring { get; set; }
  7. // //public OracleDbDAL()
  8. // //{
  9. // // this.connstring = "OracleDbContext";
  10. // //}
  11. // public OracleDbDAL(string connString)
  12. // {
  13. // this.connstring = connString;
  14. // }
  15. // #region
  16. // public bool Add<T>(T entity,string connstring) where T : class
  17. // {
  18. // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  19. // {
  20. // db.Entry<T>(entity).State = EntityState.Added;
  21. // return db.SaveChanges() > 0;
  22. // }
  23. // }
  24. // ///// <summary>
  25. // ///// 修改
  26. // ///// </summary>
  27. // ///// <param name="entity">实体</param>
  28. // ///// <returns>返回受影响行数</returns>
  29. // //public bool Update<T>(T entity) where T : class
  30. // //{
  31. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  32. // // {
  33. // // db.Set<T>().Attach(entity);
  34. // // db.Entry<T>(entity).State = EntityState.Modified;
  35. // // return db.SaveChanges() > 0;
  36. // // }
  37. // //}
  38. // ///// <summary>
  39. // ///// 删除
  40. // ///// </summary>
  41. // ///// <param name="entity">实体</param>
  42. // ///// <returns>返回受影响行数</returns>
  43. // //public bool Delete<T>(T entity) where T : class
  44. // //{
  45. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  46. // // {
  47. // // db.Set<T>().Attach(entity);
  48. // // db.Entry<T>(entity).State = EntityState.Deleted;
  49. // // return db.SaveChanges() > 0;
  50. // // }
  51. // //}
  52. // ///// <summary>
  53. // ///// 根据条件删除
  54. // ///// </summary>
  55. // ///// <param name="deleWhere">删除条件</param>
  56. // ///// <returns>返回受影响行数</returns>
  57. // //public bool DeleteByConditon<T>(Expression<Func<T, bool>> deleWhere) where T : class
  58. // //{
  59. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  60. // // {
  61. // // List<T> entitys = db.Set<T>().Where(deleWhere).ToList();
  62. // // entitys.ForEach(m => db.Entry<T>(m).State = EntityState.Deleted);
  63. // // return db.SaveChanges() > 0;
  64. // // }
  65. // //}
  66. // ///// <summary>
  67. // ///// 查找单个
  68. // ///// </summary>
  69. // ///// <param name="id">主键</param>
  70. // ///// <returns></returns>
  71. // //public T GetSingleById<T>(int id) where T : class
  72. // //{
  73. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  74. // // {
  75. // // return db.Set<T>().Find(id);
  76. // // }
  77. // //}
  78. // ///// <summary>
  79. // ///// 查找单个
  80. // ///// </summary>
  81. // ///// <param name="seleWhere">查询条件</param>
  82. // ///// <returns></returns>
  83. // //public T GetSingle<T>(Expression<Func<T, bool>> seleWhere) where T : class
  84. // //{
  85. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  86. // // {
  87. // // return db.Set<T>().FirstOrDefault(seleWhere);
  88. // // }
  89. // //}
  90. // ///// <summary>
  91. // ///// 获取所有实体集合
  92. // ///// </summary>
  93. // ///// <returns></returns>
  94. // //public List<T> GetAll<T>() where T : class
  95. // //{
  96. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  97. // // {
  98. // // return db.Set<T>().ToList<T>();
  99. // // }
  100. // //}
  101. // ///// <summary>
  102. // ///// 获取所有实体集合(单个排序)
  103. // ///// </summary>
  104. // ///// <returns></returns>
  105. // //public List<T> GetAll<T, Tkey>(Expression<Func<T, Tkey>> orderWhere, bool isDesc) where T : class
  106. // //{
  107. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  108. // // {
  109. // // return CommonSort(db.Set<T>(), orderWhere, isDesc).ToList<T>();
  110. // // }
  111. // //}
  112. // ///// <summary>
  113. // ///// 单个排序通用方法
  114. // ///// </summary>
  115. // ///// <typeparam name="Tkey">排序字段</typeparam>
  116. // ///// <param name="data">要排序的数据</param>
  117. // ///// <param name="orderWhere">排序条件</param>
  118. // ///// <param name="isDesc">是否倒序</param>
  119. // ///// <returns>排序后的集合</returns>
  120. // //public IQueryable<T> CommonSort<T, Tkey>(IQueryable<T> data, Expression<Func<T, Tkey>> orderWhere, bool isDesc) where T : class
  121. // //{
  122. // // if (isDesc)
  123. // // {
  124. // // return data.OrderByDescending(orderWhere);
  125. // // }
  126. // // else
  127. // // {
  128. // // return data.OrderBy(orderWhere);
  129. // // }
  130. // //}
  131. // ///// <summary>
  132. // ///// 根据条件查询实体集合
  133. // ///// </summary>
  134. // ///// <param name="seleWhere">查询条件 lambel表达式</param>
  135. // ///// <returns></returns>
  136. // //public List<T> GetList<T>(Expression<Func<T, bool>> seleWhere) where T : class
  137. // //{
  138. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  139. // // {
  140. // // return db.Set<T>().Where(seleWhere).ToList();
  141. // // }
  142. // //}
  143. // ///// <summary>
  144. // ///// 根据条件查询实体集合(单个字段排序)
  145. // ///// </summary>
  146. // ///// <param name="seleWhere">查询条件 lambel表达式</param>
  147. // ///// <returns></returns>
  148. // //public List<T> GetList<T, Tkey>(Expression<Func<T, bool>> seleWhere, Expression<Func<T, Tkey>> orderWhere, bool isDesc) where T : class
  149. // //{
  150. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  151. // // {
  152. // // return CommonSort(db.Set<T>().Where(seleWhere), orderWhere, isDesc).ToList();
  153. // // }
  154. // //}
  155. // ///// <summary>
  156. // ///// 获取分页集合(无条件无排序)
  157. // ///// </summary>
  158. // ///// <returns></returns>
  159. // //public List<T> GetListPaged<T, Tkey>(int pageIndex, int pageSize, out int totalcount) where T : class
  160. // //{
  161. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  162. // // {
  163. // // totalcount = db.Set<T>().Count();//获取总数
  164. // // //需要增加AsExpandable(),否则查询的是所有数据到内存,然后再排序 AsExpandable是linqkit.dll中的方法
  165. // // return db.Set<T>().Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
  166. // // }
  167. // //}
  168. // ///// <summary>
  169. // ///// 获取分页集合(无条件单个排序)
  170. // ///// </summary>
  171. // ///// <returns></returns>
  172. // //public List<T> GetListPaged<T, Tkey>(int pageIndex, int pageSize, Expression<Func<T, Tkey>> orderWhere, bool isDesc, out int totalcount) where T : class
  173. // //{
  174. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  175. // // {
  176. // // totalcount = db.Set<T>().Count();//获取总数
  177. // // //需要增加AsExpandable(),否则查询的是所有数据到内存,然后再排序 AsExpandable是linqkit.dll中的方法
  178. // // return CommonSort(db.Set<T>(), orderWhere, isDesc).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
  179. // // }
  180. // //}
  181. // ///// <summary>
  182. // ///// 获取分页集合(有条件无排序)
  183. // ///// </summary>
  184. // ///// <returns></returns>
  185. // //public List<T> GetListPaged<T, Tkey>(int pageIndex, int pageSize, Expression<Func<T, bool>> seleWhere, out int totalcount) where T : class
  186. // //{
  187. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  188. // // {
  189. // // totalcount = db.Set<T>().Where(seleWhere).Count();//获取总数
  190. // // //需要增加AsExpandable(),否则查询的是所有数据到内存,然后再排序 AsExpandable是linqkit.dll中的方法
  191. // // return db.Set<T>().Where(seleWhere).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
  192. // // }
  193. // //}
  194. // ///// <summary>
  195. // ///// 获取分页集合(有条件单个排序)
  196. // ///// </summary>
  197. // ///// <returns></returns>
  198. // //public List<T> GetListPaged<T, Tkey>(int pageIndex, int pageSize, Expression<Func<T, bool>> seleWhere,
  199. // // Expression<Func<T, Tkey>> orderWhere, bool isDesc, out int totalcount) where T : class
  200. // //{
  201. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  202. // // {
  203. // // totalcount = db.Set<T>().Where(seleWhere).Count();//获取总数
  204. // // //需要增加AsExpandable(),否则查询的是所有数据到内存,然后再排序 AsExpandable是linqkit.dll中的方法
  205. // // return CommonSort(db.Set<T>().Where(seleWhere), orderWhere, isDesc).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
  206. // // }
  207. // //}
  208. // //#endregion
  209. // //#region 原始sql操作
  210. // ///// <summary>
  211. // ///// 执行操作
  212. // ///// </summary>
  213. // ///// <param name="sql"></param>
  214. // ///// <param name="paras"></param>
  215. // //public void ExecuteSql(string sql, params object[] paras)
  216. // //{
  217. // // using (OracleDBContext db = new OracleDBContext(connstring))
  218. // // {
  219. // // db.Database.ExecuteSqlCommand(sql, paras);
  220. // // }
  221. // //}
  222. // ///// <summary>
  223. // ///// 查询列表
  224. // ///// </summary>
  225. // ///// <typeparam name="T"></typeparam>
  226. // ///// <param name="sql"></param>
  227. // ///// <param name="paras"></param>
  228. // ///// <returns></returns>
  229. // //public List<T> QueryList<T>(string sql, params object[] paras) where T : class
  230. // //{
  231. // // using (OracleDBContext db = new OracleDBContext(connstring))
  232. // // {
  233. // // return db.Database.SqlQuery<T>(sql, paras).ToList();
  234. // // }
  235. // //}
  236. // ///// <summary>
  237. // ///// 查询单个
  238. // ///// </summary>
  239. // ///// <typeparam name="T"></typeparam>
  240. // ///// <param name="sql"></param>
  241. // ///// <param name="paras"></param>
  242. // ///// <returns></returns>
  243. // //public T QuerySingle<T>(string sql, params object[] paras) where T : class
  244. // //{
  245. // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring))
  246. // // {
  247. // // return db.Database.SqlQuery<T>(sql, paras).FirstOrDefault();
  248. // // }
  249. // //}
  250. // ///// <summary>
  251. // ///// 执行事务
  252. // ///// </summary>
  253. // ///// <param name="lsSql"></param>
  254. // ///// <param name="lsParas"></param>
  255. // //public void ExecuteTransaction(List<String> lsSql, List<Object[]> lsParas)
  256. // //{
  257. // // using (OracleDBContext db = new OracleDBContext(connstring))
  258. // // {
  259. // // using (var tran = db.Database.BeginTransaction())
  260. // // {
  261. // // try
  262. // // {
  263. // // for (int i = 0; i < lsSql.Count; i++)
  264. // // {
  265. // // if (lsParas != null && lsParas.Count > 0)
  266. // // {
  267. // // db.Database.ExecuteSqlCommand(lsSql[i], lsParas[i]);
  268. // // }
  269. // // }
  270. // // foreach (String item in lsSql)
  271. // // {
  272. // // db.Database.ExecuteSqlCommand(item);
  273. // // }
  274. // // tran.Commit();
  275. // // }
  276. // // catch (Exception ex)
  277. // // {
  278. // // tran.Rollback();
  279. // // throw ex;
  280. // // }
  281. // // }
  282. // // }
  283. // //}
  284. // //#endregion
  285. // //#region 通用属性
  286. // ///// <summary>
  287. // ///// 获取数据库服务器当前时间。
  288. // ///// </summary>
  289. // //public DateTime ServerTime
  290. // //{
  291. // // get
  292. // // {
  293. // // using (OracleDBContext db = new OracleDBContext(connstring))
  294. // // {
  295. // // String sql = "SELECT GETDATE()";
  296. // // Object objServerTime = db.Database.SqlQuery<Object>(sql);
  297. // // return Convert.ToDateTime(objServerTime);
  298. // // }
  299. // // }
  300. // //}
  301. // ///// <summary>
  302. // ///// 获取数据库版本。
  303. // ///// </summary>
  304. // //public String DatabaseVersion
  305. // //{
  306. // // get
  307. // // {
  308. // // using (OracleDBContext db = new OracleDBContext(connstring))
  309. // // {
  310. // // try
  311. // // {
  312. // // String sql = "SELECT Version FROM Sys_Version";
  313. // // Object objServerTime = db.Database.SqlQuery<Object>(sql);
  314. // // return Convert.ToString(objServerTime);
  315. // // }
  316. // // catch
  317. // // {
  318. // // }
  319. // // return String.Empty;
  320. // // }
  321. // // }
  322. // //}
  323. // #endregion
  324. //}
  325. }