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