Exemple #1
0
        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);
            }
        }
Exemple #2
0
        /// <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);
        }