#pragma once #include "M_ObjectDAO.h" namespace DBPlatformSpace { class M_EntityModelDAO; //_dataType预定义值 #define MNORMALCOL_TYPE_INT 1 #define MNORMALCOL_TYPE_STRING 2 #define MNORMALCOL_TYPE_DOUBLE 3 //#define MNORMALCOL_TYPE_BLOB 4 #define MNORMALCOL_TYPE_CHARPTR 4 // [5/9/2024 wwu] 数据库里按照Blob存储 #define MNORMALCOL_TYPE_DOUBLEPTR 5 // [5/9/2024 wwu] 数据库里按照Blob存储 /// M_数据属性 class M_NormalColumnDAO : public M_ObjectDAO { public: //说明:基类里的_name用于保存 “模型标识” int _addVersion; ///<增加版本 int _dataType; ///<数据类型(1整型 2字符串 3 实型) string _defaultValue; ///<默认值 int _delVersion; ///<删除版本 string _description; ///<描述 string _displayName; ///<显示名称 int _fkTableID; ///<关联数据类ID int _fkType; ///<关联属性类型 string _innerName; ///<内部名称 int _interfaceAttrType; ///<接口属性(需要添加专属接口的属性)类型 int _isAutoIncrement; ///<是否自增 int _isDeleted; ///<是否逻辑删除 int _isFindKey; ///<是否为检索属性 int _isIndex; ///<是否索引 int _isOnly; ///<是否唯一 int _isPk; ///<是否为主键 int _maxLength; ///<最大长度 int _minLength; ///<最小长度 int _numLength; ///<数值长度 int _numPresision; ///<数值精度 int _t_M_EntityTableID; ///<所属数据类ID int _t_M_EntityViewID; ///<所属视图ID int _version; ///<版本 ODI M_NormalColumnDAO(); virtual ODI ~M_NormalColumnDAO(); // [6/26/2022 wwu] virtual ODI ResultMsg save(int commitType = COMMIT_T_IMMEDIATELY); // [6/25/2022 wwu] 替换 delself() virtual ODI ResultMsg delFromEntityModel(M_EntityModelDAO* pModleOwner); // [10/25/2023 wwu] ODI static string NameToDAOAttriName(string normalColumn_name); ODI virtual Mapper* createMapper(); ODI static DAO* createObject(); static ODI ResultMsg FindAll(list & pnewlist); static ODI ResultMsg FindByID(int id, M_NormalColumnDAO * &pnewdao); static ResultMsg ODI FindByT_M_EntityTableID(int t_M_EntityTableID, list& newlist); }; }