Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Thema zeigt, wie man programmgesteuert eine benutzerdefinierte benutzereigene Tabelle (Entität) mit dem Namen Bankkonto erstellt und vier verschiedene Spaltentypen (Attribute) hinzufügt.
Sie können auch organisationseigene benutzerdefinierte Tabellen erstellen. Weitere Informationen: Tabellenbesitz
Anmerkung
Sie können die benutzerdefinierte Tabelle in der Anwendungsnavigation nicht sehen, es sei denn, die Tabelleneigenschaften werden bearbeitet, um die Bereiche, in denen diese Entität angezeigt wird festzulegen.
Die benutzerdefinierte Tabelle erstellen
Das folgende Codebeispiel verwendet CreateEntityRequest, um die Tabelle (Entität) und das StringAttributeMetadataPrimaryAttribute zu erstellen.
Der _customEntityName
-Wert ist „new_bankaccount“.
CreateEntityRequest createrequest = new CreateEntityRequest
{
//Define the entity
Entity = new EntityMetadata
{
SchemaName = _customEntityName,
DisplayName = new Label("Bank Account", 1033),
DisplayCollectionName = new Label("Bank Accounts", 1033),
Description = new Label("An entity to store information about customer bank accounts", 1033),
OwnershipType = OwnershipTypes.UserOwned,
IsActivity = false,
},
// Define the primary attribute for the entity
PrimaryAttribute = new StringAttributeMetadata
{
SchemaName = "new_accountname",
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
MaxLength = 100,
FormatName = StringFormatName.Text,
DisplayName = new Label("Account Name", 1033),
Description = new Label("The primary attribute for the Bank Account entity.", 1033)
}
};
_serviceProxy.Execute(createrequest);
Console.WriteLine("The bank account entity has been created.");
Hinzufügen einer Zeichenfolgenspalte zur benutzerdefinierten Tabelle
Das folgende Codebeispiel fügt eine Spalte StringAttributeMetadata (Attribut) zur Tabelle Bank Account
hinzu.
CreateAttributeRequest createBankNameAttributeRequest = new CreateAttributeRequest
{
EntityName = _customEntityName,
Attribute = new StringAttributeMetadata
{
SchemaName = "new_bankname",
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
MaxLength = 100,
FormatName = StringFormatName.Text,
DisplayName = new Label("Bank Name", 1033),
Description = new Label("The name of the bank.", 1033)
}
};
_serviceProxy.Execute(createBankNameAttributeRequest);
Hinzufügen einer Geldspalte zur benutzerdefinierten Tabelle
Das folgende Codebeispiel fügt eine Spalte MoneyAttributeMetadata (Attribut) zur Tabelle Bank Account
hinzu.
CreateAttributeRequest createBalanceAttributeRequest = new CreateAttributeRequest
{
EntityName = _customEntityName,
Attribute = new MoneyAttributeMetadata
{
SchemaName = "new_balance",
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
PrecisionSource = 2,
DisplayName = new Label("Balance", 1033),
Description = new Label("Account Balance at the last known date", 1033),
}
};
_serviceProxy.Execute(createBalanceAttributeRequest);
Hinzufügen einer Spalte für Datums- und Zeitangaben zur benutzerdefinierten Tabelle
Das folgende Codebeispiel fügt eine Spalte DateTimeAttributeMetadata (Attribut) zur Tabelle Bank Account
hinzu.
CreateAttributeRequest createCheckedDateRequest = new CreateAttributeRequest
{
EntityName = _customEntityName,
Attribute = new DateTimeAttributeMetadata
{
SchemaName = "new_checkeddate",
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
Format = DateTimeFormat.DateOnly,
DisplayName = new Label("Date", 1033),
Description = new Label("The date the account balance was last confirmed", 1033)
}
};
_serviceProxy.Execute(createCheckedDateRequest);
Console.WriteLine("An date attribute has been added to the bank account entity.");
Hinzufügen einer Nachschlagespalte zur benutzerdefinierten Tabelle
Das folgende Codebeispiel verwendet CreateOneToManyRequest, um eine 1:n-Beziehung mit der Tabelle Contact
zu erstellen, sodass eine Spalte LookupAttributeMetadata (Attribut) zur Tabelle Bank Account
hinzugefügt wird.
CreateOneToManyRequest req = new CreateOneToManyRequest()
{
Lookup = new LookupAttributeMetadata()
{
Description = new Label("The referral (lead) from the bank account owner", 1033),
DisplayName = new Label("Referral", 1033),
LogicalName = "new_parent_leadid",
SchemaName = "New_Parent_leadId",
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.Recommended)
},
OneToManyRelationship = new OneToManyRelationshipMetadata()
{
AssociatedMenuConfiguration = new AssociatedMenuConfiguration()
{
Behavior = AssociatedMenuBehavior.UseCollectionName,
Group = AssociatedMenuGroup.Details,
Label = new Label("Bank Accounts", 1033),
Order = 10000
},
CascadeConfiguration = new CascadeConfiguration()
{
Assign = CascadeType.Cascade,
Delete = CascadeType.Cascade,
Merge = CascadeType.Cascade,
Reparent = CascadeType.Cascade,
Share = CascadeType.Cascade,
Unshare = CascadeType.Cascade
},
ReferencedEntity = "lead",
ReferencedAttribute = "leadid",
ReferencingEntity = _customEntityName,
SchemaName = "new_lead_new_bankaccount"
}
};
_serviceProxy.Execute(req);
Siehe auch
CreateEntityRequest
Anpassen von Tabellendefinitionen
Arbeiten mit Tabellendefinitionen über Code