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 Value
OptionSetValue-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 anzeigenBenutzerdefinierte 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