namespace NFine.Repository { //public class OracleDbDAL :IOracleDbDAL //{ // public string connstring { get; set; } // //public OracleDbDAL() // //{ // // this.connstring = "OracleDbContext"; // //} // public OracleDbDAL(string connString) // { // this.connstring = connString; // } // #region // public bool Add<T>(T entity,string connstring) where T : class // { // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // { // db.Entry<T>(entity).State = EntityState.Added; // return db.SaveChanges() > 0; // } // } // ///// <summary> // ///// 修改 // ///// </summary> // ///// <param name="entity">实体</param> // ///// <returns>返回受影响行数</returns> // //public bool Update<T>(T entity) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // db.Set<T>().Attach(entity); // // db.Entry<T>(entity).State = EntityState.Modified; // // return db.SaveChanges() > 0; // // } // //} // ///// <summary> // ///// 删除 // ///// </summary> // ///// <param name="entity">实体</param> // ///// <returns>返回受影响行数</returns> // //public bool Delete<T>(T entity) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // db.Set<T>().Attach(entity); // // db.Entry<T>(entity).State = EntityState.Deleted; // // return db.SaveChanges() > 0; // // } // //} // ///// <summary> // ///// 根据条件删除 // ///// </summary> // ///// <param name="deleWhere">删除条件</param> // ///// <returns>返回受影响行数</returns> // //public bool DeleteByConditon<T>(Expression<Func<T, bool>> deleWhere) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // List<T> entitys = db.Set<T>().Where(deleWhere).ToList(); // // entitys.ForEach(m => db.Entry<T>(m).State = EntityState.Deleted); // // return db.SaveChanges() > 0; // // } // //} // ///// <summary> // ///// 查找单个 // ///// </summary> // ///// <param name="id">主键</param> // ///// <returns></returns> // //public T GetSingleById<T>(int id) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // return db.Set<T>().Find(id); // // } // //} // ///// <summary> // ///// 查找单个 // ///// </summary> // ///// <param name="seleWhere">查询条件</param> // ///// <returns></returns> // //public T GetSingle<T>(Expression<Func<T, bool>> seleWhere) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // return db.Set<T>().FirstOrDefault(seleWhere); // // } // //} // ///// <summary> // ///// 获取所有实体集合 // ///// </summary> // ///// <returns></returns> // //public List<T> GetAll<T>() where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // return db.Set<T>().ToList<T>(); // // } // //} // ///// <summary> // ///// 获取所有实体集合(单个排序) // ///// </summary> // ///// <returns></returns> // //public List<T> GetAll<T, Tkey>(Expression<Func<T, Tkey>> orderWhere, bool isDesc) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // return CommonSort(db.Set<T>(), orderWhere, isDesc).ToList<T>(); // // } // //} // ///// <summary> // ///// 单个排序通用方法 // ///// </summary> // ///// <typeparam name="Tkey">排序字段</typeparam> // ///// <param name="data">要排序的数据</param> // ///// <param name="orderWhere">排序条件</param> // ///// <param name="isDesc">是否倒序</param> // ///// <returns>排序后的集合</returns> // //public IQueryable<T> CommonSort<T, Tkey>(IQueryable<T> data, Expression<Func<T, Tkey>> orderWhere, bool isDesc) where T : class // //{ // // if (isDesc) // // { // // return data.OrderByDescending(orderWhere); // // } // // else // // { // // return data.OrderBy(orderWhere); // // } // //} // ///// <summary> // ///// 根据条件查询实体集合 // ///// </summary> // ///// <param name="seleWhere">查询条件 lambel表达式</param> // ///// <returns></returns> // //public List<T> GetList<T>(Expression<Func<T, bool>> seleWhere) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // return db.Set<T>().Where(seleWhere).ToList(); // // } // //} // ///// <summary> // ///// 根据条件查询实体集合(单个字段排序) // ///// </summary> // ///// <param name="seleWhere">查询条件 lambel表达式</param> // ///// <returns></returns> // //public List<T> GetList<T, Tkey>(Expression<Func<T, bool>> seleWhere, Expression<Func<T, Tkey>> orderWhere, bool isDesc) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // return CommonSort(db.Set<T>().Where(seleWhere), orderWhere, isDesc).ToList(); // // } // //} // ///// <summary> // ///// 获取分页集合(无条件无排序) // ///// </summary> // ///// <returns></returns> // //public List<T> GetListPaged<T, Tkey>(int pageIndex, int pageSize, out int totalcount) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // totalcount = db.Set<T>().Count();//获取总数 // // //需要增加AsExpandable(),否则查询的是所有数据到内存,然后再排序 AsExpandable是linqkit.dll中的方法 // // return db.Set<T>().Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); // // } // //} // ///// <summary> // ///// 获取分页集合(无条件单个排序) // ///// </summary> // ///// <returns></returns> // //public List<T> GetListPaged<T, Tkey>(int pageIndex, int pageSize, Expression<Func<T, Tkey>> orderWhere, bool isDesc, out int totalcount) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // totalcount = db.Set<T>().Count();//获取总数 // // //需要增加AsExpandable(),否则查询的是所有数据到内存,然后再排序 AsExpandable是linqkit.dll中的方法 // // return CommonSort(db.Set<T>(), orderWhere, isDesc).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); // // } // //} // ///// <summary> // ///// 获取分页集合(有条件无排序) // ///// </summary> // ///// <returns></returns> // //public List<T> GetListPaged<T, Tkey>(int pageIndex, int pageSize, Expression<Func<T, bool>> seleWhere, out int totalcount) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // totalcount = db.Set<T>().Where(seleWhere).Count();//获取总数 // // //需要增加AsExpandable(),否则查询的是所有数据到内存,然后再排序 AsExpandable是linqkit.dll中的方法 // // return db.Set<T>().Where(seleWhere).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); // // } // //} // ///// <summary> // ///// 获取分页集合(有条件单个排序) // ///// </summary> // ///// <returns></returns> // //public List<T> GetListPaged<T, Tkey>(int pageIndex, int pageSize, Expression<Func<T, bool>> seleWhere, // // Expression<Func<T, Tkey>> orderWhere, bool isDesc, out int totalcount) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // totalcount = db.Set<T>().Where(seleWhere).Count();//获取总数 // // //需要增加AsExpandable(),否则查询的是所有数据到内存,然后再排序 AsExpandable是linqkit.dll中的方法 // // return CommonSort(db.Set<T>().Where(seleWhere), orderWhere, isDesc).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); // // } // //} // //#endregion // //#region 原始sql操作 // ///// <summary> // ///// 执行操作 // ///// </summary> // ///// <param name="sql"></param> // ///// <param name="paras"></param> // //public void ExecuteSql(string sql, params object[] paras) // //{ // // using (OracleDBContext db = new OracleDBContext(connstring)) // // { // // db.Database.ExecuteSqlCommand(sql, paras); // // } // //} // ///// <summary> // ///// 查询列表 // ///// </summary> // ///// <typeparam name="T"></typeparam> // ///// <param name="sql"></param> // ///// <param name="paras"></param> // ///// <returns></returns> // //public List<T> QueryList<T>(string sql, params object[] paras) where T : class // //{ // // using (OracleDBContext db = new OracleDBContext(connstring)) // // { // // return db.Database.SqlQuery<T>(sql, paras).ToList(); // // } // //} // ///// <summary> // ///// 查询单个 // ///// </summary> // ///// <typeparam name="T"></typeparam> // ///// <param name="sql"></param> // ///// <param name="paras"></param> // ///// <returns></returns> // //public T QuerySingle<T>(string sql, params object[] paras) where T : class // //{ // // using (OracleDbSetBase<T> db = new OracleDbSetBase<T>(connstring)) // // { // // return db.Database.SqlQuery<T>(sql, paras).FirstOrDefault(); // // } // //} // ///// <summary> // ///// 执行事务 // ///// </summary> // ///// <param name="lsSql"></param> // ///// <param name="lsParas"></param> // //public void ExecuteTransaction(List<String> lsSql, List<Object[]> lsParas) // //{ // // using (OracleDBContext db = new OracleDBContext(connstring)) // // { // // using (var tran = db.Database.BeginTransaction()) // // { // // try // // { // // for (int i = 0; i < lsSql.Count; i++) // // { // // if (lsParas != null && lsParas.Count > 0) // // { // // db.Database.ExecuteSqlCommand(lsSql[i], lsParas[i]); // // } // // } // // foreach (String item in lsSql) // // { // // db.Database.ExecuteSqlCommand(item); // // } // // tran.Commit(); // // } // // catch (Exception ex) // // { // // tran.Rollback(); // // throw ex; // // } // // } // // } // //} // //#endregion // //#region 通用属性 // ///// <summary> // ///// 获取数据库服务器当前时间。 // ///// </summary> // //public DateTime ServerTime // //{ // // get // // { // // using (OracleDBContext db = new OracleDBContext(connstring)) // // { // // String sql = "SELECT GETDATE()"; // // Object objServerTime = db.Database.SqlQuery<Object>(sql); // // return Convert.ToDateTime(objServerTime); // // } // // } // //} // ///// <summary> // ///// 获取数据库版本。 // ///// </summary> // //public String DatabaseVersion // //{ // // get // // { // // using (OracleDBContext db = new OracleDBContext(connstring)) // // { // // try // // { // // String sql = "SELECT Version FROM Sys_Version"; // // Object objServerTime = db.Database.SqlQuery<Object>(sql); // // return Convert.ToString(objServerTime); // // } // // catch // // { // // } // // return String.Empty; // // } // // } // //} // #endregion //} }