2014-02-17 13 views
23

Ich arbeite mit MDS 2008/API, um Modelle, Entitäten, Attribute und Member programmatisch einzufügen/zu aktualisieren.Microsoft Master Data Services: Wie man eine Beschreibung von Model/Entity programmgesteuert erhält/setzt

Ich möchte die Beschreibung eines Modells oder einer Entität erhalten oder festlegen.

Wenn Tatsache auf Master Data Manager, wir dies auf Metadaten eines Modells oder Einheit sehen: enter image description here

Hier können wir die Beschreibung des Modells sehen, aber wir können es nicht und festlegen.

Kann jemand das mit MDS API tun?

+0

Ich habe nicht mit MDS gearbeitet. Werfen Sie jedoch einen Blick auf [diesen Link] (http://technet.microsoft.com/en-us/library/hh245404.aspx). Hilft das? – shahkalpesh

+0

Warum möchten Sie es programmgesteuert tun? Warum ändern Sie es nicht einfach mit dem Verwaltungstool? –

+0

ja ich kann es nicht programmgesteuert tun. Aber selbst in MDM scheint es unmöglich zu sein, es zu ändern. – flow

Antwort

1

Die Beschreibung für ein Modell ist einfach ein Attribut in der Entität "Model Metadata Definition", das im "Metadata" -Modell lebt. Das Ändern des Werts sollte also genauso sein wie das Ändern des Attributwerts einer anderen Entität.

Da ich noch nie die MDS-API verwendet habe, werde ich beschreiben, wie man es mit den MDS Stage-Member-Tabellen und gespeicherten Prozeduren macht, aber ich denke, das sollte Ihnen eine Idee geben, wie man es auch mit der API macht .

Da wir die „Beschreibung“ Attribut des Elements sind Ändern 22 (der das Test-Modell ist), legen Sie einen Datensatz in der tblStgMemberAttribute-Tabelle:

insert mdm.tblStgMemberAttribute (ModelName, EntityName, MemberType_ID, 
    MemberCode, AttributeName, AttributeValue) 
values ('Metadata', 'Model Metadata Definition', 1, 
    22, 'Description', 'My new description') 

Dann können Sie entweder führen Sie die Batch Verwenden Sie den Manager, oder führen Sie es programmgesteuert aus:

DECLARE @Version_ID int, @User_Id int 

/* Get latest version of the model */ 
SET @Version_ID = (SELECT MAX(ID) FROM MDS.mdm.viw_SYSTEM_SCHEMA_VERSION 
        WHERE Model_Name = 'Metadata') 

/* Get the UserID from the username */ 
SET @User_Id = (SELECT ID FROM mdm.tblUser u 
       WHERE u.UserName = 'domain\username') /* TODO: Replace domain/username */ 

EXEC mdm.udpStagingSweep @User_Id, @Version_ID, 1