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