Freigeben über


BasicRelationship Klasse

Definition

Obwohl Beziehungen über ein benutzerdefiniertes Schema verfügen, sollten diese Eigenschaften auf jedem instance vorhanden sein. Dies ist nützlich, um als Basisklasse zu verwenden, um sicherzustellen, dass Ihre benutzerdefinierten Beziehungen über die erforderlichen Eigenschaften verfügen.

public class BasicRelationship
type BasicRelationship = class
Public Class BasicRelationship
Vererbung
BasicRelationship

Beispiele

Hier sehen Sie ein Beispiel für die Verwendung der BasicRelationship-Hilfsklasse zum Serialisieren und Erstellen einer Beziehung zwischen einem digitalen Zwilling im Gebäude und einem digitalen Zwilling auf dem Boden.

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}'.");

Hier sehen Sie ein Beispiel für die Verwendung der BasicRelationship-Hilfsklasse zum Abrufen und Deserialisieren einer Beziehung.

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"]}");
}

Hinweise

Diese Hilfsklasse funktioniert nur mit System.Text.Json. Wenn sie mit dem ObjectSerializer- Parameter DigitalTwinsClientOptions verwendet wird, funktioniert es nur mit dem Standardwert (JsonObjectSerializer).

Weitere Beispiele finden Sie in unseren Repositorybeispielen.

Konstruktoren

BasicRelationship()

Obwohl Beziehungen über ein benutzerdefiniertes Schema verfügen, sollten diese Eigenschaften auf jedem instance vorhanden sein. Dies ist nützlich, um als Basisklasse zu verwenden, um sicherzustellen, dass Ihre benutzerdefinierten Beziehungen über die erforderlichen Eigenschaften verfügen.

Eigenschaften

ETag

Eine Zeichenfolge, die ein schwaches ETag für die Entität darstellt, für die diese Anforderung gemäß RFC7232 einen Vorgang ausführt.

Id

Die eindeutige ID der Beziehung. Dieses Feld ist für jede Beziehung vorhanden.

Name

Der Name der Beziehung, der den Linktyp definiert (z. B. Enthält). Dieses Feld ist für jede Beziehung vorhanden.

Properties

Zusätzliche benutzerdefinierte Eigenschaften, die im DTDL-Modell definiert sind. Diese Eigenschaft enthält alle Beziehungseigenschaften, die noch nicht in dieser Klasse definiert sind.

SourceId

Die eindeutige ID des digitalen Quellzwillens. Dieses Feld ist für jede Beziehung vorhanden.

TargetId

Die eindeutige ID des digitalen Zielzwillens. Dieses Feld ist für jede Beziehung vorhanden.

Gilt für: