Partager via


BasicRelationship Classe

Définition

Bien que les relations aient un schéma défini par l’utilisateur, ces propriétés doivent exister sur chaque instance. Il est utile de l’utiliser comme classe de base pour vous assurer que vos relations personnalisées ont les propriétés nécessaires.

public class BasicRelationship
type BasicRelationship = class
Public Class BasicRelationship
Héritage
BasicRelationship

Exemples

Voici un exemple d’utilisation de la classe d’assistance BasicRelationship pour sérialiser et créer une relation d’un jumeau numérique de bâtiment à un jumeau numérique d’étage.

var buildingFloorRelationshipPayload = new BasicRelationship
{
    Id = "buildingFloorRelationshipId",
    SourceId = "buildingTwinId",
    TargetId = "floorTwinId",
    Name = "contains",
    Properties =
    {
        { "Prop1", "Prop1 value" },
        { "Prop2", 6 }
    }
};

Response<BasicRelationship> createBuildingFloorRelationshipResponse = await client
    .CreateOrReplaceRelationshipAsync<BasicRelationship>("buildingTwinId", "buildingFloorRelationshipId", buildingFloorRelationshipPayload);
Console.WriteLine($"Created a digital twin relationship '{createBuildingFloorRelationshipResponse.Value.Id}' " +
    $"from twin '{createBuildingFloorRelationshipResponse.Value.SourceId}' to twin '{createBuildingFloorRelationshipResponse.Value.TargetId}'.");

Voici un exemple d’utilisation de la classe d’assistance BasicRelationship pour obtenir et désérialiser une relation.

Response<BasicRelationship> getBasicRelationshipResponse = await client.GetRelationshipAsync<BasicRelationship>(
    "buildingTwinId",
    "buildingFloorRelationshipId");
if (getBasicRelationshipResponse.GetRawResponse().Status == (int)HttpStatusCode.OK)
{
    BasicRelationship basicRelationship = getBasicRelationshipResponse.Value;
    Console.WriteLine($"Retrieved relationship '{basicRelationship.Id}' from twin {basicRelationship.SourceId}.\n\t" +
        $"Prop1: {basicRelationship.Properties["Prop1"]}\n\t" +
        $"Prop2: {basicRelationship.Properties["Prop2"]}");
}

Remarques

Cette classe d’assistance fonctionne uniquement avec System.Text.Json. Lorsqu’il est utilisé avec le ObjectSerializerparamètre , DigitalTwinsClientOptions il ne fonctionne qu’avec la valeur par défaut (JsonObjectSerializer).

Pour plus d’exemples, consultez nos exemples de dépôt.

Constructeurs

BasicRelationship()

Bien que les relations aient un schéma défini par l’utilisateur, ces propriétés doivent exister sur chaque instance. Il est utile de l’utiliser comme classe de base pour vous assurer que vos relations personnalisées ont les propriétés nécessaires.

Propriétés

ETag

Chaîne représentant un ETag faible pour l’entité sur laquelle cette requête effectue une opération, conformément à la RFC7232.

Id

ID unique de la relation. Ce champ est présent sur chaque relation.

Name

Nom de la relation, qui définit le type de lien (par exemple, Contient). Ce champ est présent sur chaque relation.

Properties

Propriétés personnalisées supplémentaires définies dans le modèle DTDL. Cette propriété contient toutes les propriétés de relation qui ne sont pas déjà définies dans cette classe.

SourceId

ID unique du jumeau numérique source. Ce champ est présent sur chaque relation.

TargetId

ID unique du jumeau numérique cible. Ce champ est présent sur chaque relation.

S’applique à