public virtual void DeleteAll() { if (this.Id == 0) { throw new OOEngineException("此对象尚未被持久化,无法执行删除操作!"); } string sqlPattern = "delete from {0};"; string sql = string.Format(sqlPattern, EInfo.EntityName); try { DBSQLiteHelper.ExecuteUpdate(sql); } catch (Exception e) { throw new OOEngineException("在删除持久化对象时发生异常!" + e.Message); } }
/// <summary> /// 更新持久化对象的属性 /// </summary> public void Update() { if (this.Id == 0) { throw new OOEngineException("此对象尚未被持久化,请先执行新增操作后再执行此方法!"); } string sqlPattern = "update {0} set {1} where Id={2};"; StringBuilder sbSetValue = new StringBuilder(); foreach (FieldAttribute pinfo in EInfo.Properties) { if (sbSetValue.Length > 0) { sbSetValue.Append(","); } sbSetValue.Append(string.Format("{0}={1}", pinfo.FieldName, DLLAnalysis.GetPropertyValue(this, pinfo))); } foreach (REFAttribute refobj in EInfo.References) { if (sbSetValue.Length > 0) { sbSetValue.Append(","); } sbSetValue.Append(string.Format("{0}={1}", refobj.REFFieldName, DLLAnalysis.GetReferenceEntityId(this, refobj.PropertyName))); } if (EInfo.REFSelf) { if (sbSetValue.Length > 0) { sbSetValue.Append(","); } sbSetValue.Append(string.Format("ParentId={0}", DLLAnalysis.GetReferenceEntityId(this, "Parent" + EInfo.EntityName))); } string sql = string.Format(sqlPattern, EInfo.EntityName, sbSetValue.ToString(), this.Id); DBSQLiteHelper.ExecuteUpdate(sql); }