/// <summary>
        /// 增加一条记录(异步方式)
        /// </summary>
        /// <param name="entity">实体模型</param>
        /// <returns></returns>
        public virtual async Task <bool> AddAsync(WordReplaceItemEntity entity)
        {
            if (entity.ItemID <= 0)
            {
                entity.ItemID = GetNewID();
            }
            Dictionary <string, object> dict = new Dictionary <string, object>();

            GetParameters(entity, dict);

            string strSQL = "insert into WordReplaceItem (" +
                            "ItemID," +
                            "SourceWord," +
                            "TargetWord," +
                            "ReplaceType," +
                            "ScopesType," +
                            "ReplaceTimes," +
                            "Priority," +
                            "IsNewOpen," +
                            "IsEnabled," +
                            "Title) " +
                            "values(" +
                            "@ItemID," +
                            "@SourceWord," +
                            "@TargetWord," +
                            "@ReplaceType," +
                            "@ScopesType," +
                            "@ReplaceTimes," +
                            "@Priority," +
                            "@IsNewOpen," +
                            "@IsEnabled," +
                            "@Title)";

            return(await Task.Run(() => _DB.ExeSQLResult(strSQL, dict)));
        }
 /// <summary>
 /// 把实体类转换成键/值对集合
 /// </summary>
 /// <param name="entity"></param>
 /// <param name="dict"></param>
 private static void GetParameters(WordReplaceItemEntity entity, Dictionary <string, object> dict)
 {
     dict.Add("ItemID", entity.ItemID);
     dict.Add("SourceWord", entity.SourceWord);
     dict.Add("TargetWord", entity.TargetWord);
     dict.Add("ReplaceType", entity.ReplaceType);
     dict.Add("ScopesType", entity.ScopesType);
     dict.Add("ReplaceTimes", entity.ReplaceTimes);
     dict.Add("Priority", entity.Priority);
     dict.Add("IsNewOpen", entity.IsNewOpen);
     dict.Add("IsEnabled", entity.IsEnabled);
     dict.Add("Title", entity.Title);
 }
        /// <summary>
        /// 获取实体(异步方式)
        /// </summary>
        /// <param name="strWhere">参数化查询条件(例如: and Name = @Name )</param>
        /// <param name="dict">参数的名/值集合</param>
        /// <returns></returns>
        public virtual async Task <WordReplaceItemEntity> GetEntityAsync(string strWhere, Dictionary <string, object> dict = null)
        {
            WordReplaceItemEntity obj = null;
            string strSQL             = "select top 1 * from WordReplaceItem 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="rdr"></param>
        /// <returns></returns>
        private static WordReplaceItemEntity GetEntityFromrdr(NullableDataReader rdr)
        {
            WordReplaceItemEntity info = new WordReplaceItemEntity();

            info.ItemID       = rdr.GetInt32("ItemID");
            info.SourceWord   = rdr.GetString("SourceWord");
            info.TargetWord   = rdr.GetString("TargetWord");
            info.ReplaceType  = rdr.GetInt32("ReplaceType");
            info.ScopesType   = rdr.GetInt32("ScopesType");
            info.ReplaceTimes = rdr.GetInt32("ReplaceTimes");
            info.Priority     = rdr.GetInt32("Priority");
            info.IsNewOpen    = rdr.GetBoolean("IsNewOpen");
            info.IsEnabled    = rdr.GetBoolean("IsEnabled");
            info.Title        = rdr.GetString("Title");
            return(info);
        }
        /// <summary>
        /// 更新一条记录(异步方式)
        /// </summary>
        /// <param name="entity">实体模型</param>
        /// <returns></returns>
        public virtual async Task <bool> UpdateAsync(WordReplaceItemEntity entity)
        {
            Dictionary <string, object> dict = new Dictionary <string, object>();

            GetParameters(entity, dict);
            string strSQL = "Update WordReplaceItem SET " +
                            "SourceWord = @SourceWord," +
                            "TargetWord = @TargetWord," +
                            "ReplaceType = @ReplaceType," +
                            "ScopesType = @ScopesType," +
                            "ReplaceTimes = @ReplaceTimes," +
                            "Priority = @Priority," +
                            "IsNewOpen = @IsNewOpen," +
                            "IsEnabled = @IsEnabled," +
                            "Title = @Title" +
                            " WHERE " +

                            "ItemID = @ItemID";

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

            GetParameters(entity, dict);

            string strSQL = "insert into WordReplaceItem (" +
                            "ItemID," +
                            "SourceWord," +
                            "TargetWord," +
                            "ReplaceType," +
                            "ScopesType," +
                            "ReplaceTimes," +
                            "Priority," +
                            "IsNewOpen," +
                            "IsEnabled," +
                            "Title) " +
                            "values(" +
                            "@ItemID," +
                            "@SourceWord," +
                            "@TargetWord," +
                            "@ReplaceType," +
                            "@ScopesType," +
                            "@ReplaceTimes," +
                            "@Priority," +
                            "@IsNewOpen," +
                            "@IsEnabled," +
                            "@Title)";

            if (_DB.ExeSQLResult(strSQL, dict))
            {
                return(DataConverter.CLng(entity.ItemID));
            }
            return(-1);
        }
 /// <summary>
 /// 增加或更新一条记录(异步方式)
 /// </summary>
 /// <param name="entity">实体模型</param>
 /// <param name="IsSave">是否增加</param>
 /// <returns></returns>
 public virtual async Task <bool> AddOrUpdateAsync(WordReplaceItemEntity 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(WordReplaceItemEntity entity, bool IsSave)
 {
     return(IsSave ? Add(entity) : Update(entity));
 }