/// <summary> /// 把实体类转换成键/值对集合 /// </summary> /// <param name="entity"></param> /// <param name="dict"></param> private static void GetParameters(SiteLinkEntity entity, Dictionary <string, object> dict) { dict.Add("InsideLinkID", entity.InsideLinkID); dict.Add("Source", entity.Source); dict.Add("ReplaceUrl", entity.ReplaceUrl); dict.Add("Priority", entity.Priority); dict.Add("ReplaceTimes", entity.ReplaceTimes); dict.Add("IsNewOpen", entity.IsNewOpen); dict.Add("IsEnabled", entity.IsEnabled); }
/// <summary> /// 通过数据读取器生成实体类 /// </summary> /// <param name="rdr"></param> /// <returns></returns> private static SiteLinkEntity GetEntityFromrdr(NullableDataReader rdr) { SiteLinkEntity info = new SiteLinkEntity(); info.InsideLinkID = rdr.GetInt32("InsideLinkID"); info.Source = rdr.GetString("Source"); info.ReplaceUrl = rdr.GetString("ReplaceUrl"); info.Priority = rdr.GetInt32("Priority"); info.ReplaceTimes = rdr.GetInt32("ReplaceTimes"); info.IsNewOpen = rdr.GetBoolean("IsNewOpen"); info.IsEnabled = rdr.GetBoolean("IsEnabled"); return(info); }
/// <summary> /// 获取实体(异步方式) /// </summary> /// <param name="strWhere">参数化查询条件(例如: and Name = @Name )</param> /// <param name="dict">参数的名/值集合</param> /// <returns></returns> public virtual async Task <SiteLinkEntity> GetEntityAsync(string strWhere, Dictionary <string, object> dict = null) { SiteLinkEntity obj = null; string strSQL = "select top 1 * from SiteLink 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 async Task <bool> UpdateAsync(SiteLinkEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "Update SiteLink SET " + "Source = @Source," + "ReplaceUrl = @ReplaceUrl," + "Priority = @Priority," + "ReplaceTimes = @ReplaceTimes," + "IsNewOpen = @IsNewOpen," + "IsEnabled = @IsEnabled" + " WHERE " + "InsideLinkID = @InsideLinkID"; return(await Task.Run(() => _DB.ExeSQLResult(strSQL, dict))); }
/// <summary> /// 增加一条记录,返回新的ID号。需要有一个单一主键,并且开启有标识符属性(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual async Task <int> InsertAsync(SiteLinkEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "insert into SiteLink (" + "Source," + "ReplaceUrl," + "Priority," + "ReplaceTimes," + "IsNewOpen," + "IsEnabled) " + "values(" + "@Source," + "@ReplaceUrl," + "@Priority," + "@ReplaceTimes," + "@IsNewOpen," + "@IsEnabled)"; return(await Task.Run(() => _DB.ReturnID(strSQL, dict))); }
/// <summary> /// 增加一条记录 /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual bool Add(SiteLinkEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "insert into SiteLink (" + "Source," + "ReplaceUrl," + "Priority," + "ReplaceTimes," + "IsNewOpen," + "IsEnabled) " + "values(" + "@Source," + "@ReplaceUrl," + "@Priority," + "@ReplaceTimes," + "@IsNewOpen," + "@IsEnabled)"; return(_DB.ExeSQLResult(strSQL, dict)); }
/// <summary> /// 增加或更新一条记录(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <param name="IsSave">是否增加</param> /// <returns></returns> public virtual async Task <bool> AddOrUpdateAsync(SiteLinkEntity 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(SiteLinkEntity entity, bool IsSave) { return(IsSave ? Add(entity) : Update(entity)); }