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

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 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

PicklistAttributeMetadata

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.

StatusAttributeMetadata

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.

StateAttributeMetadata

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.

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

  • 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 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

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 Sies int_Werte.

MoneyAttributeMetadata

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:

  • 0: Die Anzahl durch Precision-Metadateneigenschaft bestimmt wird.

  • 1: Den Organization.PricingDecimalPrecision-Wert.

  • 2: Den TransactionCurrency.CurrencyPrecision, der 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 enthalten.

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

LookupType

Diese Suchattribute können verwendet werden, um Verweise auf einen Datensatztyp festzuklegen, der durch die -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.

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: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.

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 <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