Example #1
0
 /// <summary>
 /// 清除对象一级缓存(Session.Flush()不会同步到数据库)
 /// </summary>
 /// <param name="list"></param>
 public void Evict(IEnumerable <TEntity> list)
 {
     foreach (var p in list)
     {
         SessionFactoryManager.GetCurrentSession().Evict(p);
     }
 }
Example #2
0
        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;
                }
            }
        }
Example #3
0
        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;
                }
            }
        }
Example #4
0
        /// <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();
        }
Example #5
0
        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;
                }
            }
        }
Example #6
0
        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]);
        }
Example #7
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);
        }
Example #8
0
        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;
                }
            }
        }
Example #9
0
 /// <summary>
 /// Get Current Session
 /// </summary>
 /// <returns>返回ISession</returns>
 public ISession GetCurrentSession()
 {
     return(SessionFactoryManager.GetCurrentSession());
 }
Example #10
0
        public IQueryable <TEntity> Query()
        {
            ISession session = SessionFactoryManager.GetCurrentSession();

            return(session.Query <TEntity>());
        }
Example #11
0
 /// <summary>
 /// 刷新一级缓存中的单个实体
 /// </summary>
 /// <param name="entity"></param>
 public void Refresh(TEntity entity)
 {
     SessionFactoryManager.GetCurrentSession().Refresh(entity);
 }
Example #12
0
 /// <summary>
 /// 完全的清除缓存
 /// </summary>
 /// <param name="entity"></param>
 public void Clear()
 {
     SessionFactoryManager.GetCurrentSession().Clear();
 }
Example #13
0
 /// <summary>
 /// 清除对象一级缓存(Session.Flush()不会同步到数据库)
 /// </summary>
 /// <param name="entity"></param>
 public void Evict(TEntity entity)
 {
     SessionFactoryManager.GetCurrentSession().Evict(entity);
 }
Example #14
0
        public TEntity Load(TKey id)
        {
            ISession session = SessionFactoryManager.GetCurrentSession();

            return(session.Load <TEntity>(id));
        }