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