#pragma once #include "M_ObjectDAO.h" namespace DBPlatformSpace { class M_FolderDAO; class M_ProjectDAO; class M_NormalColumnDAO; class M_EntityTableDAO; //_type 的类型预定义 #define ENTITYMODEL_TYPE_DICTIONARY 2 /// M_数据模型 class M_EntityModelDAO : public M_ObjectDAO { public: //说明:基类里的_name用于保存 “模型标识” string _description; ///<描述 string _displayName; ///<显示名称 int _isDeleted; ///<是否逻辑删除 int _isReleased; ///<是否发布 int _isVersionLocked; ///<是否版本锁定 int _type; ///<类型 int _version; ///<版本号 int _rProjectID; ///& emlist); ODI ResultMsg addTempFolder(int commitType = COMMIT_T_IMMEDIATELY); ODI ResultMsg getTempFolder(M_FolderDAO* &pEntityFolder); // [6/25/2022 wwu] /// 获取所属项目 ODI ResultMsg getProjectOwner(M_ProjectDAO * &pprojectOwner); // [6/20/2022 wwu] /// 升版 ODI ResultMsg upgradeNewVersion(M_EntityModelDAO*& pNewEntityModel);//int & newVersionEntityModelID // [6/25/2022 wwu] /// 复制 ///@para pNewEntityModel 需要设置复制后的基本信息,但_ID需要为-1,即不能Save过。 ODI ResultMsg copyTo(M_EntityModelDAO * & pNewEntityModel); // [6/25/2022 wwu] /// 生成实例 ODI ResultMsg createInstance(string instanceFileFolderPath,string instanceFileName); // [9/4/2023 wwu] ///查询实例文件的模型和项目信息 static ODI ResultMsg getInstanceInfo(string instanceFilePath, M_EntityModelDAO*& pMEntityModel); // [7/13/2022 wwu] // 获取所有属性 ODI ResultMsg getNormalColumnList(list &nColList); // [7/13/2022 wwu] // 获取所有数据类 ODI ResultMsg getEntityTableList(list& tableList); // [8/30/2022 wwu] // 获取同一project下同名称标识的模型最大版本号 ODI int getMaxVersionWithinSaveName(); ODI virtual Mapper* createMapper(); ODI static DAO* createObject(); static ODI ResultMsg FindAll(list & pnewlist); static ODI ResultMsg FindByID(int id, M_EntityModelDAO * &pnewdao); static ResultMsg ODI FindByRProjectID(int rProjectID, list& newlist); static ResultMsg ODI FindByRProjectIDAndName(int rProjectID, string name, list& newlist); // [9/5/2023 wwu] static ResultMsg ODI FindByRProjectIDAndNameAndVersion(int rProjectID, string name, int versionNo, list& newlist); static ResultMsg ODI FindByName(string name, list& newlist); static ResultMsg ODI FindByNameMaxVersion(string name, M_EntityModelDAO*& pdao); // [9/1/2022 wwu] static ResultMsg ODI FindByType(int typeCode, list& newlist); }; }