namespace IceImportDAL.Query.EntityMemberFieldMap; // Resolves every MENTITYMEMBERS row for a given entity down to its physical table/column — // MENTITYMEMBERS.ENTITYID -> MENTITY.DBOBJECTID -> DBOBJECT.DBOBJECTNAME (table), // MENTITYMEMBERS.DBFIELDID -> DBOBJECTFIELDS.DBFIELDNAME (column) — used to build a dynamic // UPDATE statement for IceImportUpdateService (the "/IceImport/Update" endpoint). public static class EntityMemberFieldMapQB { public const string GET_FIELD_MAP = @" SELECT b.ENTITYMEMBERID AS EntityMemberId, b.MEMBERNAME AS MemberName, b.ISPRIMARY AS IsPrimary, e.DBFIELDNAME AS DbFieldName, d.DBOBJECTNAME AS TableName FROM MENTITYMEMBERS b JOIN MENTITY c ON b.ENTITYID = c.ENTITYID JOIN DBOBJECT d ON c.DBOBJECTID = d.DBOBJECTID JOIN DBOBJECTFIELDS e ON b.DBFIELDID = e.DBOBJECTFIELDID AND d.DBOBJECTID = e.DBOBJECTID WHERE b.ENTITYID = @EntityId"; // Resolves the physical Addon table for an IceMap's root entity — MENTITY.ADDONDBOBJECTID -> // DBOBJECT.DBOBJECTNAME. Addon fields (MICEMAPDETAILS rows whose DestinationMemberEntityId is // the well-known -1399999424 sentinel) have no per-field DBFIELDID mapping of their own — the // physical column for each is IceMapDetailsDTO.IceMapDetailsAddonFields directly, not resolved // via GET_FIELD_MAP. public const string GET_ADDON_TABLE_NAME = @" SELECT h.DBOBJECTNAME AS TableName FROM MENTITY g JOIN DBOBJECT h ON g.ADDONDBOBJECTID = h.DBOBJECTID WHERE g.ENTITYID = @RootEntityId"; }