Einführung in die Entitätsattribute in Microsoft Dynamics 365
Veröffentlicht: Januar 2017
Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Entitäten enthalten einen satz von Attributen, die die Daten stehen, die in jedem Datensatz eingeschlossen sein können. Entwickler müssen die verschiedenen Arten von Attributen kennen und wie damit gearbeitet wird. Die Metadaten für Attribute beschreiben die gültigen Vorgänge und das Verhalten von verschiedenen Arten von Attributen. Einige Attributtypen können nach gemeinsamem Verhalten gruppiert werden.
Die spezifische Umgebung, die Entwickler haben, hängt von der Art der Entwicklung ab, die Sie auswählen.Weitere Informationen:0fcf59aa-d564-4c9b-9042-40df8664f831#entity_programming.
Hinweis
Dieses Thema enthält Verweise auf viele Metadateneigenschaften.Zum Anzeigen der Entitätsmetadaten für Ihre Organisation installieren Sie die Metadatenbrowserlösung, die in Durchsuchen der Metadaten für die Organisation beschrieben ist. Sie können auch die Metadaten für ein nicht angepasstes Unternehmen in einer Excel-Tabellenkalkulation mit der Bezeichnung EntityMetadata.xlsx anzeigen, die im obersten Ordner des SDK-Downloads enthalten ist.
In diesem Thema
Gültige Vorgänge auf Attributen
Typen von Attributen
Kategorisierungsdatenattribute
Sammlungsdatenattribute
Datums- und Uhrzeitattribut
Bilddatenattribute
Mengendatenattribute
Referenzdatenattribute
Zeichenfolgedatenattribute
Datenattribute des eindeutigen Bezeichners
Virtuelle Attribute
Logische Attribute
Gültige Vorgänge auf Attributen
Jedes Attribut verfügt über Metadaten, die die Vorgänge beschreiben, die es unterstützt. Sie müssen die Vorgänge im berücksichtigen, die für Attribute gültig sind, die Sie bearbeiten.
AttributeMetadata-Eigenschaft |
Beschreibung |
---|---|
True, wenn dieser Wert dafür gültig ist, festgelegt zu werden, wenn ein Datensatz erstellt wird, sonst False. |
|
True, wenn dieser Attributwert abgerufen werden kann andernfalls False. |
|
True, wenn dieser Wert dafür gültig ist, festgelegt zu werden, wenn ein Datensatz aktuaölisiert wird, sonst False. |
Typen von Attributen
Attribute sind in den Metadaten und in der Datei AttributeMetadata-Eigenschaft definert. Die AttributeTypeName-Eigenschaft enthält den Wert, der den Typ beschreibt. Die statischen AttributeTypeDisplayName-Mitglieder stellen die Liste mit möglichen Typen bereit.
Hinweis
Die ältere AttributeType-Eigenschaft enthält Daten, die größtenteils mit AttributeTypeName entsprechen, außer dass es ImageType-Attribute als Virtual zeigt. Sie sollten die Eigenschaft AttributeTypeName anstelle der Eigenschaft AttributeType verwendet werden.
Im folgenden Abschnitt werden die Typen von Attributen in folgende Kategorien gruppiert, damit Sie sie leicht vergleichen können:
Kategorisierungsdatenattribute
Sammlungsdatenattribute
Datums- und Uhrzeitattribut
Bilddatenattribute
Mengendatenattribute
Referenzdatenattribute
Zeichenfolgedatenattribute
Datenattribute des eindeutigen Bezeichners
Virtuelle Attribute
Kategorisierungsdatenattribute
Jedes der fünf Attributen in dieser erbt aus einer lgemeinsamen EnumAttributeMetadata-Basisklasse und verwendet einen vordefinierten Satz gültiger Werte, um datensätze in Kategorien zu gruppieren.
Legen Sie Auswahllisten-, Status- und Referenzinformatione mithilfe einer ValueOptionSetValue-Eigenschaft fest, die auf eine Ganzzahl festgelegt ist, die eine gültige Option in den Metadaten darstellt.
Legen Sie boolesche Attribute mit einem Booleschen Wert fest, beachten Sie aber, dass dies eine Kategorisierung ist, die auf nur zwei Möglichkeiten begrenzt ist.
EntityName-Attribute verwenden einen Zeichenfolgenwert, der darauf begrenzt, ein gültiger Logischer Name in der Organisation zu sein.
Benutzerdefinierte Auswahllisten und Boolsche Attribute können als berechnete Attributen definiert werden.Weitere Informationen:26ada6f7-3e22-465c-90f8-19d326785eb4#BKMK_Calculated.
Metadatentyp |
AttributeTypeName Wert |
Beschreibung |
---|---|---|
PicklistType |
Gültige Werte werden im OptionMetadata.Value für das Attribut festgelegt, das in OptionSetMetadata.Options definiert ist. Innerhalb der Anpassungstools in der Anwendung werden die Attribute als Optionssatz-Felder bezeichnet. |
|
StatusType |
Diese Systemattribute werden allgemein StatusCodegenannt. Gültige Werte werden im StatusOptionMetadata.Value für das Attribut festgelegt, das in OptionSetMetadata.Options definiert ist. Die StatusOptionMetadata.State -Eigenschaft für jede Option beschreibt den gültigen Wert für den entsprechenden StateCode-Wert. Bevor Sie StatusCode festlegen, sollten Sie sicherstellen, dass es ein gültiges Element für den StateCode-Wert ist. Verwenden Sie Meldung SetStateRequest, um StatusCode- und StateCode-Attributwerte festzulegen, wenn Sie den Status des Datensatzes ändern müssen. Diese Attribute unterliegen möglicherweise weiteren Einschränkungen, die festgelegt werden können. Die StatusOptionMetadata.TransitionData-Eigenschaft kann Informationen dazu enthalten, welche Optionen zulässig sind, wenn der EntityMetadata.EnforceTransitions-Wet True ist.Weitere Informationen:Definieren von benutzerdefinierten Statusmodellübergängen. |
|
StateType |
Diese Systemattribute werden allgemein StatusCodegenannt. Gültige Werte werden im StateOptionMetadata.Value für das Attribut festgelegt, das in OptionSetMetadata.Options definiert ist. StateCode ist nicht gültig zum Aktualisieren. Nachdem der Datensatz erstellt wurde, kann StateCode nur mithilfe der SetStateRequest Meldung angegeben werden. Die StateOptionMetadata.DefaultStatus-Eigenschaft für jede Option beschreibt die standardmäßige StatusCode, die verwendet wird, wenn keine Parameter SetStateRequest festgelegt sind. |
|
BooleanType |
Boolesche Attribute können direkt mit einem Booleschen Wert festgelegt, werden aber wie die anderen haben sie auch eine OptionSet-Eigenschaft mit FalseOption- und TrueOption-Eigenschaften, die den booleschen Optionen entsprechen. Jede dieser Eigenschaften definiert einen Satz lokalisierter Datensatz, die darstellen, was True und False für Attribut bedeuten. Innerhalb der Anpassungstools in der Anwendung werden die Attribute Zwei Optionen-Felder genannt, da die Bedeutung für jede Option ein beliebiges wechselseitig exklusives Optionspaar sein, nicht nur True und False. Beispielsweise könnten die Optionen groß und klein sein. |
|
EntityNameType |
Diese Systemattribute sind im Allgemeinen einem eindeutigen Bezeichner oder Verweisattribut zugeordnet, das für mehrere Typen gültig ist. Der Wert dieses Attributs ist eine Zeichenfolgenwert, der den logischen Namen einer Entität darstellt. Wenn das entsprechende Verweisattribut ein EntityReference ist, kann der Wert der dieses Attributs derselbe sein wie der EntityReference.Name-Eigenschaftswert. |
Sammlungsdatenattribute
DieseSystemattribute geben Sammlungen von Werten zurück.
AttributeTypeName-Wert |
Beschreibung |
---|---|
CalendarRulesType |
Es gibt keine aktuellen Attribute, die CalendarRulesType verwenden. Wenn Sie den Stil mit früher Bindung verwende, erstellt das Codegenerierungstool die folgenden zwei simulierten Attribute, die nicht in den Metadaten vorhanden sind. Diese Attribute repräsentieren tatsächlich eine Ansicht der Kalenderregeldatensätze, die in einer 1: n-Beziehung zur Entitätsinstanz zugeordnet sind.
|
PartyListType |
Die folgenden Attribute erlauben, mehrere EntityReference für verschiedene Aktivitätstypen festzulegen. ActivityPointer.allparties |
Datums- und Uhrzeitattribut
Attribute mit dem Metadaten AttributeTypeName-Wert von DateTimeType. Legen Sie diese Attribute mithilfe von System.DateTime fest.
Die DateTimeAttributeMetadata.Format-Eigenschaft kann einer der folgenden DateTimeFormat-Werte sein:
DateAndTime: Datum und Uhrzeit anzeigen.
DateOnly: Nur das Datum anzeigten
Benutzerdefinierte Datums- und Uhrzeitattribute können als Rollup-Attribute definiert werden.Weitere Informationen:Berechnete und Rollupattribute.
Bilddatenattribute
Für Entitäten, die Bildattribute untersützen, ist das SchemaName des Entitätsbildattributs immer EntityImage.
Weitere Informationen:Bildattribute, 8597998f-764f-4c73-b63d-9f5e02c78061#BKMK_EntityImages und Beispiel: Festlegen und Abrufen von Entitätsbildern.
Mengendatenattribute
Attribute in diesen Kategorie verwenden numerische Daten. Jedes dieser Attribute hat eine MaxValue- und MinValue-Metadateneigenschaft, um enen Bereich gültiger Werte festzulegen.
Benutzerdefinierte Dezimal-, Ganzzahl- und Geld-Attribute können als Rollup-Attribute definiert werden.Weitere Informationen:Berechnete und Rollupattribute.
Metadatentyp |
AttributeTypeName-Wert |
Beschreibung |
---|---|---|
BigIntType |
BigInt -Attribute sind nur für den internen Gebrauch. |
|
DecimalType |
Verwenden Sie Dezimal-Werte. Die Precision-Metadateneigenschaft legt die zu verwendende Genauigkeit für das Attribut fest. |
|
DoubleType |
Verwenden Sie Doppel-Werte. Die Precision-Metadateneigenschaft legt die zu verwendende Genauigkeit für das Attribut fest. |
|
IntegerType |
Verwenden Sies int_Werte. |
|
MoneyType |
Verwenden Sie Money, das eine decimalValue-Eigenschaft hat. Jedes money-Attribut hat ein entsprechendes vom System berechnetes Basiswährungs-money-Attribut, das verwendet wird, um den Wert in der Basiswährung der Organisation zu berechnen, wenn mehreren Währungen für die Organisation aktiviert wurden. Die Eigenschaft IsBaseCurrency legt fest, ob ein money-Attribut der Basiswährung entspricht.Weitere Informationen:Entität der Transaktionswährung (Währung). Money-Attribute enthalten auch eine PrecisionSource-Metadateneigenschaft, die die zu verwendende Ebene der Genauigkeit angeben kann, die verwendet werden soll. Der ganzzahlige Wert dieserEigenschaft bestimmt, ob:
|
Referenzdatenattribute
Diese Elemente werden häufig als Suchattribute bezeichnet, und eingie davon enthalten einen EntityReference-Wert. Der Unterschied zwischen diesen Attributen liegt in den Arten von Entitäten, denen sie zugeordnet werden können. Die Metadateneigenschaft Targets enthält ein String[] der Namen der gültigen logische Entität, die gültige Ziele für die Suche darstelen. Benutzerdefinierte Suchattribute können nur einen einzigen Type in der Targets-Eigenschaft haben.
Die PartyListType stellen auch eine Art Referenzdatenattribut dar, da diese aber eine Sammlung Verweise enthalten, sind sie unter Sammlungsdatenattribute enthalten.
Zeichenfolgedatenattribute
Es gibt zwei Attributtypen, die Zeichenfolgendaten verwenden.
Metadatentyp |
AttributeTypeName-Wert |
Beschreibung |
---|---|---|
StringType |
Ein Attribut für einen Zeichenfolgenwert, auf den ein Format angewendet werden kann.Weitere Informationen:89969adc-8577-424c-bfcc-7f65c5d4bd19#BKMK_StringAttributeMetadataFormats. Benutzerdefinierte Zeichenfolgeattribute können als berechnete Attribute definiert werden.Weitere Informationen:26ada6f7-3e22-465c-90f8-19d326785eb4#BKMK_Calculated. |
|
MemoType |
Ein Attribut für einen Zeichenfolgenwert für Notizen. Dieses Attribut ist gleichwertig den Zeichenfolgenattributen mit dem FormatName-Eigenschaftswert festgesetzt auf TextArea. |
Datenattribute des eindeutigen Bezeichners
Attribute mit dem Metadaten AttributeTypeName-Wert UniqueidentifierType enthalten nullbare System.Guid-Werte.
Jede Entitätsinstanz enthält ein Attribut, das den eindeutigen Bezeichner für den Datensatz anzeigt. Dieses Attribut hat einen Schemanamen, der der Namenskonvention <entity schema name> +Id folgt. Beispielsweise heißt die Kontoentität der Schemaname für das Attribut, das den eindeutigen Bezeichner darstellt, AccountId. Dieser Wert ist auch direkt mit der Entity-Eigenschaft Id verfügbar. Dieses Attribut wird immer zurückgegeben, wenn Sie eine Entität abrufen, auch wenn Sie sie nicht in der ColumnSet einer Abfrage einschließen. Dieser Wert ist Null für eine neu instanziierte Entität. Wenn es gültig ist, dafür einen Guid-Wert festzulegen, um den eindeutigen Bezeichner zu definieren, wenn Sie einen neuen Datensatz erstellen, wird für optimale Leistung empfohlen, diese als Null zu belassen und dem System zu erlauben, einen Wert zuweisen, wenn der Datensatz erstellt wird. Nachdem ein Datensatz gespeichert ist, wird dieser Wert schreibgeschützt.
Entitäten enthalten unter Umständen andere eindeutige Bezeichner-Attribute, abhängig von den Features der Entität. Beispielsweise enthalten Entitäten, die für Geschäftsprozesse aktiviert werden, eindeutige Bezeichner-Attribute für ProcessId und StageId, um die aktuellen Geschäftsprozess nachzuverfolgen, der dem Datensatz zugeordnet ist. Bestimmte Systembeziehungen, die möglicherweise in der Regel einen EntityReference-Wert verwenden, verwenden stattdessen einen eindeutigen Bezeichner. Beispielsweise verfügen die Firma- und Kontakt-Entität jeweils über zwei eindeutige Bezeichner-Attribute (Address1_AddressId und Address2_AddressId), die CustomerAddress-Datensätzen entsprechen, die erstellt werden, wenn eine Firma oder ein Kontakt erstellt wird.
Virtuelle Attribute
Die Metadaten für eine Entität enthalten einige Attribute mit dem Metadaten AttributeTypeName-Wert VirtualType. Diese Attribute können nicht im Code verwendet werden.
Logische Attribute
Logische Attribute enthalten Werte, die in anderen Datenbanktabellen als andere Attributen in der Entität gespeichert werden. In den meisten Fällen ist diese interne Implementierung nicht relevant zum Arbeiten mit Microsoft Dynamics 365. Wenn Sie logische Attribute als Quellen für ein berechnetes verwenden, können die Werte im berechneten Feld nicht sortiert werden. Verwenden Sie AttributeMetadata.IsLogical-Eigenschaft, um zu ermitteln, ob ein Attribut ein logisches Attribut ist.
Die häufigsten logischen Attribute sind die, die Adressinformationen in mehreren speziellen Entitäten speichern: CompetitorAddress, CustomerAddress, InternalAddress, LeadAddress und PublisherAddress. Es gibt 8 Systementitäten, die einen vollständigen Satz von Attributen für zwei Adressen unter Verwendujng logischer Attribute enthalten. Jedes dieser Attribute beginnt mit "Address*", beispielsweise Address1_City oder Address2_Latitude.
Siehe auch
Einführung in Entitäten in Microsoft Dynamics 365
Bildattribute
Berechnete und Rollupattribute
Beispiel: Abrufen gültiger Statusübergänge
Beispiel: Festlegen und Abrufen von Entitätsbildern
Microsoft Dynamics 365
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright