通过 Long Id 获得 BaseModel - GetBaseModelByLongId

2017-06-28 11:56:06  访问(1386) 赞(0) 踩(0)

_GetBaseModel


        #region 获得BaseModel

        /// <summary>
        /// 获得BaseModel
        /// </summary>
        /// <param name="entity">操作实体</param>
        /// <param name="xdbHelper">数据库链接串</param>
        /// <returns></returns>
        protected BaseModel _GetBaseModel(BaseEntity entity, DBHelper xdbHelper)
        {
            // 获得第一条记录 //
            DBInvokeParameter dbInvokeParameterValue 
                = 
                BuildSQLSlowXCoreFunctions.TopListDBInvokeParameter
                (
                    xdbHelper.GetEmDataBaseHelper(),
                    xdbHelper.GetDataBaseVersion(),
                    1,
                    entity
                );

            DataSet theResult = _ExecuteDataSet
                (
                    SlowX.Core.Enums.ClearCache.EmClearCache.不清空, 
                    CommandType.Text, 
                    dbInvokeParameterValue.SQL, 
                    dbInvokeParameterValue.parameter, 
                    xdbHelper
                );

            // 销毁资源 //
            dbInvokeParameterValue.parameter = null;
            dbInvokeParameterValue = null;

            if (theResult == null || theResult.Tables[0].Rows.Count == 0)
            {
                return null;
            }
            else
            {
                return CreateBaseModel(theResult.Tables[0].Rows[0], xdbHelper);
            }
        }

        #endregion 获得BaseModel

WhereAddLongWithPK


        /// <summary>
        /// Where的关键字的Long值查询
        /// </summary>
        /// <param name="theValue">查询值</param>
        public void WhereAddLongWithPK
            (
                long theValue
            )
        {
            EntityFieldInfo pkInfo = GetIDEntityFieldInfo();

            if (pkInfo == null)
            {

                throw new Exception
                    (
                        "方法:"
                        + MethodBase.GetCurrentMethod().ReflectedType.FullName
                        + " "
                        + MethodBase.GetCurrentMethod().ToString()
                        + " 发生异常:"
                        + "没有获得关键字的EntityFieldInfo"
                    );
            }

            m_ListIQueryItem.Add
              (
                  new DataColumnQueryLongItem
                      (
                           pkInfo,
                           theValue
                      )
              );
        }

GetBaseModelByLongId

 
        #region 通过 Long Id 获得 BaseModel - GetBaseModelByLongId +

        /// <summary>
        /// 通过 Long Id 获得 BaseModel - GetBaseModelByLongId
        /// </summary>
        /// <param name="longId"></param>
        /// <param name="xdbHelper">数据库链接串</param>
        /// <returns></returns>
        public BaseModel GetBaseModelByLongId
            (
                long longId,
                DBHelper xdbHelper
            )
        {
            BaseModel theResult = null;

            bool bIsCreate = true;

            if (xdbHelper == null)
            {
                xdbHelper = SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
            }
            else
            {
                // 没有打开链接 //
                bIsCreate = xdbHelper.IsNotOpen();
            }

            try
            {
                if (bIsCreate)
                    xdbHelper.OpenDBHelper();

                BaseEntity entity = this.CreateBaseEntity();

                IWhereDriver iwhere = entity;

                iwhere.WhereAddLongWithPK(longId);

                theResult = _GetBaseModel(entity, xdbHelper);

                if (bIsCreate)
                    xdbHelper.EndDBHelper();

            }
            catch (Exception err)
            {
                if (bIsCreate)
                    xdbHelper.TranDBHelper();

                throw err;
            }
            finally
            {
                if (bIsCreate)
                    xdbHelper.FinallyDBHelper();
            }

            return theResult;
        }

        /// <summary>
        /// 通过 Long Id 获得 BaseModel
        /// </summary>
        /// <param name="longId"></param>
        /// <param name="emWhereModelValue"></param>
        /// <param name="xdbHelper">数据库链接串</param>
        /// <returns></returns>
        public BaseModel GetBaseModelByLongId
            (
                long longId,
                Enums.WhereModel.EmWhereModel emWhereModelValue,
                DBHelper xdbHelper
            )
        {
            BaseModel theResult = null;

            bool bIsCreate = true;

            if (xdbHelper == null)
            {
                xdbHelper = SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
            }
            else
            {
                // 没有打开链接 //
                bIsCreate = xdbHelper.IsNotOpen();
            }

            try
            {
                if (bIsCreate)
                    xdbHelper.OpenDBHelper();

                BaseEntity entity = this.CreateBaseEntity();

                IQueryDriver iq = entity;

                // 初始化where的过滤条件 //
                iq.InitIQueryItem(emWhereModelValue);
                iq.WhereAddLongWithPK(longId);

                theResult = _GetBaseModel(entity, xdbHelper);

                if (bIsCreate)
                    xdbHelper.EndDBHelper();

            }
            catch (Exception err)
            {
                if (bIsCreate)
                    xdbHelper.TranDBHelper();

                throw err;
            }
            finally
            {
                if (bIsCreate)
                    xdbHelper.FinallyDBHelper();
            }

            return theResult;
        }

        #endregion 通过 Long Id 获得 BaseModel


上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)