Freigeben über


Einführung in die Entitätsattribute in Dynamics 365 Customer Engagement (on-premises)

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: Entitätsprogrammierung (frühe Bindung im Vergleich zu später Bindung und Entwicklererweiterungen).

Notiz

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 Ihre Organisation beschrieben ist. Sie können die Referenzdokumentation für Entitäten auch in der Entitätsreferenz durchsuchen.

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
IsValidForCreate True, wenn dieser Wert dafür gültig ist, festgelegt zu werden, wenn ein Datensatz erstellt wird, sonst False.
IsValidForRead True, wenn dieser Attributwert abgerufen werden kann andernfalls False.
IsValidForUpdate True, wenn dieser Wert dafür gültig ist, festgelegt zu werden, wenn ein Datensatz aktuaölisiert wird, sonst False.

Typen von Attributen

Attribute werden in Metadaten definiert und die Eigenschaft AttributeMetadata.AttributeTypeName enthält den Wert, der den Typ beschreibt. Die statischen AttributeTypeDisplayName-Mitglieder stellen die Liste mit möglichen Typen bereit.

Notiz

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

Jedes der sechs 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: Berechnete Attribute.

Metadatentyp AttributeTypeName-Wert Beschreibung
PicklistAttributeMetadata PicklistType Gültige Werte werden in der OptionMetadata festgelegt.Value für dieses Attribut, das innerhalb der OptionSetMetadataOptions definiert ist.
Innerhalb der Anpassungstools in der Anwendung werden die Attribute als Optionssatz-Felder bezeichnet.
MultiSelectPicklistAttributeMetadata MultiSelectPicklistType Hinweis: Mehrfachauswahl-Listenattribute wurden hinzugefügt mit Dynamics 365 Customer Engagement (on-premises) Version 9.x.
Weitere Information Mehrfachauswahllistenattribute
Innerhalb der Anpassungstools in der Anwendung werden die Attribute als Mehrfachauswahl-Optionssatz-Felder bezeichnet.
StatusAttributeMetadata StatusType Diese Systemattribute werden allgemein StatusCode genannt. Gültige Werte werden in der StatusOptionMetadata festgelegt.Value für dieses Attribut, das innerhalb der OptionSetMetadataOptions 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 Eigenschaft StatusOptionMetadata.TransitionData kann Informationen darüber enthalten, welche Optionen zugelassen sind, wenn die EntityMetadata.EnforceTransitions Wert ist wahr. Weitere Informationen: Definieren Sie angepasste Statusmodellübergänge.
StateAttributeMetadata StateType Diese Systemattribute werden allgemein StateCode genannt. Gültige Werte werden in der StateOptionMetadata festgelegt.Value für dieses Attribut, das innerhalb der OptionSetMetadataOptions definiert ist.
StateCode gilt nicht für die Aktualisierung. 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.
BooleanAttributeMetadata 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.
EntityNameAttributeMetadata 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 verwenden, 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.
- Calendar.CalendarRules Beziehung: calendar_calendar_rules
- Service.CalendarRules Beziehung: service_calendar_rules
PartyListType Die folgenden Attribute erlauben, mehrere EntityReference für verschiedene Aktivitätstypen festzulegen.
ActivityPointer.allparties
Appointment.OptionalAttendees
Appointment.Organizer
Appointment.requiredattendees
CampaignActivity.from
CampaignActivity.Partners
CampaignResponse.Customer
CampaignResponse.from
CampaignResponse.Partner
Email.bcc
Email.cc
Email.from
Email.to
Fax.from
Fax.to
Letter.bcc
Letter.cc
Letter.from
Letter.to
PhoneCall.from
PhoneCall.to
RecurringAppointmentMaster.OptionalAttendees
RecurringAppointmentMaster.Organizer
RecurringAppointmentMaster.RequiredAttendees
ServiceAppointment.Customers
ServiceAppointment.Resources
SocialActivity.From
SocialActivity.Resources
SocialActivity.To

Datums- und Uhrzeitattribut

Attribute mit dem Metadaten AttributeTypeName-Wert von DateTimeType. Legen Sie diese Attribute mithilfe von System.DateTime fest.

Die Eigenschaft DateTimeAttributeMetadata.Format kann einer der folgenden DateTimeFormat Werte sein:

  • DateAndTime: Anzeige von Datum und Uhrzeit.

  • DateOnly: Nur das Datum anzeigen

    Benutzerdefinierte Datums- und Uhrzeitattribute können als Rollup-Attribute definiert werden. Weitere Informationen: Berechnete und Rollup-Attribute.

Bilddatenattribute

Für Entitäten, die Bildattribute untersützen, ist das SchemaName des Entitätsbildattributs immer EntityImage.

Weitere Informationen: Bildattribute, Entitätsbilder und Beispiel: Bilder von Entitäten festlegen und abrufen.

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 Rollup-Attribute.

Metadatentyp AttributeTypeName-Wert Beschreibung
BigIntAttributeMetadata BigIntType BigInt -Attribute sind nur für den internen Gebrauch.
DecimalAttributeMetadata DecimalType Verwenden Sie Dezimal-Werte.
Die Precision-Metadateneigenschaft legt die zu verwendende Genauigkeit für das Attribut fest.
DoubleAttributeMetadata DoubleType Verwenden Sie Doppel-Werte.
Die Precision-Metadateneigenschaft legt die zu verwendende Genauigkeit für das Attribut fest.
IntegerAttributeMetadata IntegerType Verwenden Sie int-Werte.
MoneyAttributeMetadata MoneyType Verwenden Sie Money, das eine decimal``Value-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: Transaktionswährung (Währung) Entität.
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:
- 0: Die Genauigkeit wird durch die Metadaten-Eigenschaft Precision bestimmt.
- 1: Der Organization.PricingDecimalPrecision-Wert.
- 2: Die TransactionCurrency.CurrencyPrecision, die dem aktuellen Datensatz zugeordnet ist.

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.

Metadatentyp AttributeTypeName-Wert Beschreibung
LookupAttributeMetadata CustomerType Diese Systemsuchattribute können mit Konto- oder Kontakt-Entitätendatensätzen verknüpft werden.
Contact.ParentCustomerId
Contract.BillingCustomerId
Contract.CustomerId
ContractDetail.CustomerId
CustomerOpportunityRole.CustomerId
CustomerRelationship.CustomerId
CustomerRelationship.PartnerId
Entitlement.CustomerId
Incident.CustomerId
Invoice.CustomerId
Lead.CustomerId
Opportunity.CustomerId
Quote.CustomerId
SalesOrder.CustomerId
SocialActivity.PostAuthor
SocialActivity.PostAuthorAccount
SocialProfile.CustomerId
LookupAttributeMetadata LookupType Diese Suchattribute können verwendet werden, um Verweise auf einen Datensatztyp festzuklegen, der durch die Targets-Metadateneigenschaft angegeben ist.
Einige Systemsuchen verfügen nicht über einen festgelegten Wert für die Targets-Eigenschaft, aber die gemeinte Entität sollte anhand der Entitätsbeziehung, die der Suche zugeordnet ist, klar sein.
LookupAttributeMetadata OwnerType Diese Systemsuchen werden immer OwnerId genannt, und jede Entität im Benutzerbesitz hat eine. Sie können entweder auf SystemUser-Datensätze oder Team-Datensätze verweisen.

Zeichenfolgedatenattribute

Es gibt zwei Attributtypen, die Zeichenfolgendaten verwenden.

Metadatentyp AttributeTypeName-Wert Beschreibung
StringAttributeMetadata StringType Ein Attribut für einen Zeichenfolgenwert, auf den ein Format angewendet werden kann. Weitere Informationen: StringAttributeMetadata-Formate.
Benutzerdefinierte Zeichenfolgeattribute können als berechnete Attribute definiert werden. Weitere Informationen: Berechnete Attribute.
MemoAttributeMetadata 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 <Entität Schemaname>+ID folgt. Beispiel: Die Konto-Entität, der Schemaname für das Attribut, das den eindeutigen Bezeichner darstellt, heißt AccountId. Dieser Wert ist auch direkt über die Eigenschaft Entity.Id verfügbar. Dieses Attribut wird immer zurückgegeben, wenn Sie eine Entität abrufen, auch wenn Sie sie nicht in 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 jede Konto- und Kontakt-Entität jeweils über zwei eindeutige Bezeichner-Attribute (Address1_AddressId und Address2_AddressId), die CustomerAddress-Datensätzen entsprechen, die erstellt werden, wenn ein Konto 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 für die Arbeit mit nicht relevant Dynamics 365 Customer Engagement (on-premises). Wenn Sie logische Attribute als Quellen für ein berechnetes Feld verwenden, können die Werte im berechneten Feld nicht sortiert werden. Verwenden Sie die Eigenschaft AttributeMetadata.IsLogical, um zu erkennen, ob ein Attribut ein logisches Attribut ist.

Die häufigsten allgemeinen logischen Attribute sind die, die Adresseninformationen in einigen speziellen Entitäten speichern: CompetitorAddress, CustomerAddress, InternalAddress, LeadAddress und PublisherAddress. Es gibt acht 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 Dynamics 365 Customer Engagement (on-premises)
Bildattribute
Berechnete und Rollupattribute
Beispiel: Abrufen gültiger Statusübergänge
Beispiel: Festlegen und Abrufen von Entitätsbildern