Aliases: Examples and Updates

show MFProperty and MFClass relationship and show updating of aliases

Standard select statement to show properties for a class

SELECT MFProperty.*
      ,MFClass.Alias
FROM MFProperty
    INNER JOIN MFClassProperty
        ON MFProperty.ID = MFClassProperty.MFProperty_ID
    INNER JOIN MFClass
        ON MFClass.ID = MFClassProperty.MFClass_ID
WHERE MFClass.Name = 'customer';

Update statement to set aliases (example)

UPDATE MFProperty
SET MFProperty.Alias = ISNULL(MFProperty.Alias, '') + 'p.' + REPLACE(MFProperty.Name, ' ', '')
FROM MFProperty
    INNER JOIN MFClassProperty
        ON MFProperty.ID = MFClassProperty.MFProperty_ID
    INNER JOIN MFClass
        ON MFClass.ID = MFClassProperty.MFClass_ID
WHERE MFClass.Name = 'customer';

UPDATE MFClass
SET Alias = 'c.customer'
WHERE Name = 'Customer';

Processing changes to the aliases

EXEC spMFSynchronizeSpecificMetadata @Metadata = 'Property'
                                      ,@IsUpdate = 1;
EXEC spMFSynchronizeSpecificMetadata @Metadata = 'Class', @IsUpdate = 1;

SELECT *
FROM dbo.MFvwMetadataStructure
WHERE Class_Alias = 'c.customer'
ORDER BY Class_Alias
        ,Property_alias;