/// <summary>
        /// 更新一条记录(异步方式)
        /// </summary>
        /// <param name="entity">实体模型</param>
        /// <returns></returns>
        public virtual async Task <bool> UpdateAsync(CollectionExclosionEntity entity)
        {
            Dictionary <string, object> dict = new Dictionary <string, object>();

            GetParameters(entity, dict);
            string strSQL = "Update CollectionExclosion SET " +
                            "ExclosionName = @ExclosionName," +
                            "ExclosionType = @ExclosionType," +
                            "ExclosionStringType = @ExclosionStringType," +
                            "ExclosionString = @ExclosionString," +
                            "IsExclosionDesignatedNumber = @IsExclosionDesignatedNumber," +
                            "ExclosionDesignatedNumber = @ExclosionDesignatedNumber," +
                            "IsExclosionMaxNumber = @IsExclosionMaxNumber," +
                            "ExclosionMaxNumber = @ExclosionMaxNumber," +
                            "IsExclosionMinNumber = @IsExclosionMinNumber," +
                            "ExclosionMinNumber = @ExclosionMinNumber," +
                            "IsExclosionDesignatedDateTime = @IsExclosionDesignatedDateTime," +
                            "ExclosionDesignatedDateTime = @ExclosionDesignatedDateTime," +
                            "IsExclosionMaxDateTime = @IsExclosionMaxDateTime," +
                            "ExclosionMaxDateTime = @ExclosionMaxDateTime," +
                            "IsExclosionMinDateTime = @IsExclosionMinDateTime," +
                            "ExclosionMinDateTime = @ExclosionMinDateTime" +
                            " WHERE " +

                            "ExclosionID = @ExclosionID";

            return(await Task.Run(() => _DB.ExeSQLResult(strSQL, dict)));
        }
        /// <summary>
        /// 增加一条记录,返回新的ID号。需要有一个单一主键,并且开启有标识符属性(异步方式)
        /// </summary>
        /// <param name="entity">实体模型</param>
        /// <returns></returns>
        public virtual async Task <int> InsertAsync(CollectionExclosionEntity entity)
        {
            if (entity.ExclosionID <= 0)
            {
                entity.ExclosionID = GetNewID();
            }
            Dictionary <string, object> dict = new Dictionary <string, object>();

            GetParameters(entity, dict);

            string strSQL = "insert into CollectionExclosion (" +
                            "ExclosionID," +
                            "ExclosionName," +
                            "ExclosionType," +
                            "ExclosionStringType," +
                            "ExclosionString," +
                            "IsExclosionDesignatedNumber," +
                            "ExclosionDesignatedNumber," +
                            "IsExclosionMaxNumber," +
                            "ExclosionMaxNumber," +
                            "IsExclosionMinNumber," +
                            "ExclosionMinNumber," +
                            "IsExclosionDesignatedDateTime," +
                            "ExclosionDesignatedDateTime," +
                            "IsExclosionMaxDateTime," +
                            "ExclosionMaxDateTime," +
                            "IsExclosionMinDateTime," +
                            "ExclosionMinDateTime) " +
                            "values(" +
                            "@ExclosionID," +
                            "@ExclosionName," +
                            "@ExclosionType," +
                            "@ExclosionStringType," +
                            "@ExclosionString," +
                            "@IsExclosionDesignatedNumber," +
                            "@ExclosionDesignatedNumber," +
                            "@IsExclosionMaxNumber," +
                            "@ExclosionMaxNumber," +
                            "@IsExclosionMinNumber," +
                            "@ExclosionMinNumber," +
                            "@IsExclosionDesignatedDateTime," +
                            "@ExclosionDesignatedDateTime," +
                            "@IsExclosionMaxDateTime," +
                            "@ExclosionMaxDateTime," +
                            "@IsExclosionMinDateTime," +
                            "@ExclosionMinDateTime)";

            if (await Task.Run(() => _DB.ExeSQLResult(strSQL, dict)))
            {
                return(DataConverter.CLng(entity.ExclosionID));
            }
            return(-1);
        }
        /// <summary>
        /// 获取实体(异步方式)
        /// </summary>
        /// <param name="strWhere">参数化查询条件(例如: and Name = @Name )</param>
        /// <param name="dict">参数的名/值集合</param>
        /// <returns></returns>
        public virtual async Task <CollectionExclosionEntity> GetEntityAsync(string strWhere, Dictionary <string, object> dict = null)
        {
            CollectionExclosionEntity obj = null;
            string strSQL = "select top 1 * from CollectionExclosion where 1=1 " + strWhere;

            using (NullableDataReader reader = await Task.Run(() => _DB.GetDataReader(strSQL, dict)))
            {
                if (reader.Read())
                {
                    obj = GetEntityFromrdr(reader);
                }
            }
            return(obj);
        }
        /// <summary>
        /// 增加一条记录
        /// </summary>
        /// <param name="entity">实体模型</param>
        /// <returns></returns>
        public virtual bool Add(CollectionExclosionEntity entity)
        {
            if (entity.ExclosionID <= 0)
            {
                entity.ExclosionID = GetNewID();
            }
            Dictionary <string, object> dict = new Dictionary <string, object>();

            GetParameters(entity, dict);

            string strSQL = "insert into CollectionExclosion (" +
                            "ExclosionID," +
                            "ExclosionName," +
                            "ExclosionType," +
                            "ExclosionStringType," +
                            "ExclosionString," +
                            "IsExclosionDesignatedNumber," +
                            "ExclosionDesignatedNumber," +
                            "IsExclosionMaxNumber," +
                            "ExclosionMaxNumber," +
                            "IsExclosionMinNumber," +
                            "ExclosionMinNumber," +
                            "IsExclosionDesignatedDateTime," +
                            "ExclosionDesignatedDateTime," +
                            "IsExclosionMaxDateTime," +
                            "ExclosionMaxDateTime," +
                            "IsExclosionMinDateTime," +
                            "ExclosionMinDateTime) " +
                            "values(" +
                            "@ExclosionID," +
                            "@ExclosionName," +
                            "@ExclosionType," +
                            "@ExclosionStringType," +
                            "@ExclosionString," +
                            "@IsExclosionDesignatedNumber," +
                            "@ExclosionDesignatedNumber," +
                            "@IsExclosionMaxNumber," +
                            "@ExclosionMaxNumber," +
                            "@IsExclosionMinNumber," +
                            "@ExclosionMinNumber," +
                            "@IsExclosionDesignatedDateTime," +
                            "@ExclosionDesignatedDateTime," +
                            "@IsExclosionMaxDateTime," +
                            "@ExclosionMaxDateTime," +
                            "@IsExclosionMinDateTime," +
                            "@ExclosionMinDateTime)";

            return(_DB.ExeSQLResult(strSQL, dict));
        }
 /// <summary>
 /// 把实体类转换成键/值对集合
 /// </summary>
 /// <param name="entity"></param>
 /// <param name="dict"></param>
 private static void GetParameters(CollectionExclosionEntity entity, Dictionary <string, object> dict)
 {
     dict.Add("ExclosionID", entity.ExclosionID);
     dict.Add("ExclosionName", entity.ExclosionName);
     dict.Add("ExclosionType", entity.ExclosionType);
     dict.Add("ExclosionStringType", entity.ExclosionStringType);
     dict.Add("ExclosionString", entity.ExclosionString);
     dict.Add("IsExclosionDesignatedNumber", entity.IsExclosionDesignatedNumber);
     dict.Add("ExclosionDesignatedNumber", entity.ExclosionDesignatedNumber);
     dict.Add("IsExclosionMaxNumber", entity.IsExclosionMaxNumber);
     dict.Add("ExclosionMaxNumber", entity.ExclosionMaxNumber);
     dict.Add("IsExclosionMinNumber", entity.IsExclosionMinNumber);
     dict.Add("ExclosionMinNumber", entity.ExclosionMinNumber);
     dict.Add("IsExclosionDesignatedDateTime", entity.IsExclosionDesignatedDateTime);
     dict.Add("ExclosionDesignatedDateTime", entity.ExclosionDesignatedDateTime);
     dict.Add("IsExclosionMaxDateTime", entity.IsExclosionMaxDateTime);
     dict.Add("ExclosionMaxDateTime", entity.ExclosionMaxDateTime);
     dict.Add("IsExclosionMinDateTime", entity.IsExclosionMinDateTime);
     dict.Add("ExclosionMinDateTime", entity.ExclosionMinDateTime);
 }
        /// <summary>
        /// 通过数据读取器生成实体类
        /// </summary>
        /// <param name="rdr"></param>
        /// <returns></returns>
        private static CollectionExclosionEntity GetEntityFromrdr(NullableDataReader rdr)
        {
            CollectionExclosionEntity info = new CollectionExclosionEntity();

            info.ExclosionID                   = rdr.GetInt32("ExclosionID");
            info.ExclosionName                 = rdr.GetString("ExclosionName");
            info.ExclosionType                 = rdr.GetInt32("ExclosionType");
            info.ExclosionStringType           = rdr.GetInt32("ExclosionStringType");
            info.ExclosionString               = rdr.GetString("ExclosionString");
            info.IsExclosionDesignatedNumber   = rdr.GetBoolean("IsExclosionDesignatedNumber");
            info.ExclosionDesignatedNumber     = rdr.GetInt32("ExclosionDesignatedNumber");
            info.IsExclosionMaxNumber          = rdr.GetBoolean("IsExclosionMaxNumber");
            info.ExclosionMaxNumber            = rdr.GetInt32("ExclosionMaxNumber");
            info.IsExclosionMinNumber          = rdr.GetBoolean("IsExclosionMinNumber");
            info.ExclosionMinNumber            = rdr.GetInt32("ExclosionMinNumber");
            info.IsExclosionDesignatedDateTime = rdr.GetBoolean("IsExclosionDesignatedDateTime");
            info.ExclosionDesignatedDateTime   = rdr.GetNullableDateTime("ExclosionDesignatedDateTime");
            info.IsExclosionMaxDateTime        = rdr.GetBoolean("IsExclosionMaxDateTime");
            info.ExclosionMaxDateTime          = rdr.GetNullableDateTime("ExclosionMaxDateTime");
            info.IsExclosionMinDateTime        = rdr.GetBoolean("IsExclosionMinDateTime");
            info.ExclosionMinDateTime          = rdr.GetNullableDateTime("ExclosionMinDateTime");
            return(info);
        }
 /// <summary>
 /// 增加或更新一条记录(异步方式)
 /// </summary>
 /// <param name="entity">实体模型</param>
 /// <param name="IsSave">是否增加</param>
 /// <returns></returns>
 public virtual async Task <bool> AddOrUpdateAsync(CollectionExclosionEntity entity, bool IsSave)
 {
     return(IsSave ? await AddAsync(entity) : await UpdateAsync(entity));
 }
 /// <summary>
 /// 增加或更新一条记录
 /// </summary>
 /// <param name="entity">实体模型</param>
 /// <param name="IsSave">是否增加</param>
 /// <returns></returns>
 public virtual bool AddOrUpdate(CollectionExclosionEntity entity, bool IsSave)
 {
     return(IsSave ? Add(entity) : Update(entity));
 }