/// <summary> /// 清除对象一级缓存(Session.Flush()不会同步到数据库) /// </summary> /// <param name="list"></param> public void Evict(IEnumerable <TEntity> list) { foreach (var p in list) { SessionFactoryManager.GetCurrentSession().Evict(p); } }
public void Update(IList <TEntity> entitys) { ISession session = SessionFactoryManager.GetCurrentSession(); using (var tx = TransactionHelper.NhTransactionHelper.BeginTransaction()) { try { foreach (var entity in entitys) { session.Update(entity); } tx.Commit(() => { return(true); }); } catch (Exception e) { tx.Rollback(); throw; } } }
public void Merge(TEntity entity) { ISession session = SessionFactoryManager.GetCurrentSession(); using (var tx = TransactionHelper.NhTransactionHelper.BeginTransaction()) { try { session.Merge(entity); tx.Commit(); } catch { tx.Rollback(); throw; } } }
/// <summary> /// 执行存储过程 /// </summary> /// <param name="sql"></param> /// <param name="cmdParms"></param> public void ExecuteProc(string sql, params MySqlParameter[] cmdParms) { ISession session = SessionFactoryManager.GetCurrentSession(); IDbCommand cmd = session.Connection.CreateCommand(); session.Transaction.Enlist(cmd); cmd.CommandText = sql; cmd.CommandType = CommandType.StoredProcedure; if (cmdParms != null) { foreach (MySqlParameter parm in cmdParms) { cmd.Parameters.Add(parm); } } cmd.Prepare(); cmd.ExecuteNonQuery(); }
public TKey Save(TEntity entity) { ISession session = SessionFactoryManager.GetCurrentSession(); using (var tx = TransactionHelper.NhTransactionHelper.BeginTransaction()) { try { var key = (TKey)session.Save(entity); tx.Commit(() => { return(true); }); return(key); } catch { tx.Rollback(); throw; } } }
public DataTable ExecuteNoQueryToTable(string sql, params MySqlParameter[] cmdParms) { ISession session = SessionFactoryManager.GetCurrentSession(); MySqlDataAdapter mysqlAdapter = new MySqlDataAdapter(); mysqlAdapter.SelectCommand.Connection = (MySqlConnection)session.Connection; mysqlAdapter.SelectCommand.CommandType = CommandType.Text; mysqlAdapter.SelectCommand.CommandText = sql; if (cmdParms != null) { foreach (MySqlParameter parm in cmdParms) { mysqlAdapter.SelectCommand.Parameters.Add(parm); } } DataSet ds = new DataSet(); mysqlAdapter.Fill(ds); return(ds.Tables[0]); }
/// <summary> /// SqlParameter[] cmdParms = new SqlParameter[] { }; ///cmdParms[0] = new SqlParameter("@" + AccidentParameter.AccidentDate + "",); /// </summary> /// <param name="sql"></param> ///<param name="cmdParms"> </param> public int ExecuteQuery(string sql, params MySqlParameter[] cmdParms) { ISession session = SessionFactoryManager.GetCurrentSession(); IDbCommand cmd = session.Connection.CreateCommand(); session.Transaction.Enlist(cmd); cmd.CommandText = sql; cmd.CommandType = CommandType.Text; if (cmdParms != null) { foreach (MySqlParameter parm in cmdParms) { cmd.Parameters.Add(parm); } } cmd.Prepare(); var count = cmd.ExecuteNonQuery(); return(count); }
public IList <TKey> Save(IList <TEntity> entitys) { ISession session = SessionFactoryManager.GetCurrentSession(); using (var tx = TransactionHelper.NhTransactionHelper.BeginTransaction()) { try { IList <TKey> keys = entitys.Select(entity => (TKey)session.Save(entity)).ToList(); tx.Commit(() => { return(true); }); return(keys); } catch { tx.Rollback(); throw; } } }
/// <summary> /// Get Current Session /// </summary> /// <returns>返回ISession</returns> public ISession GetCurrentSession() { return(SessionFactoryManager.GetCurrentSession()); }
public IQueryable <TEntity> Query() { ISession session = SessionFactoryManager.GetCurrentSession(); return(session.Query <TEntity>()); }
/// <summary> /// 刷新一级缓存中的单个实体 /// </summary> /// <param name="entity"></param> public void Refresh(TEntity entity) { SessionFactoryManager.GetCurrentSession().Refresh(entity); }
/// <summary> /// 完全的清除缓存 /// </summary> /// <param name="entity"></param> public void Clear() { SessionFactoryManager.GetCurrentSession().Clear(); }
/// <summary> /// 清除对象一级缓存(Session.Flush()不会同步到数据库) /// </summary> /// <param name="entity"></param> public void Evict(TEntity entity) { SessionFactoryManager.GetCurrentSession().Evict(entity); }
public TEntity Load(TKey id) { ISession session = SessionFactoryManager.GetCurrentSession(); return(session.Load <TEntity>(id)); }