Compartir a través de


BasicRelationship Clase

Definición

Aunque las relaciones tienen un esquema definido por el usuario, estas propiedades deben existir en cada instancia. Esto resulta útil para usar como clase base para asegurarse de que las relaciones personalizadas tienen las propiedades necesarias.

public class BasicRelationship
type BasicRelationship = class
Public Class BasicRelationship
Herencia
BasicRelationship

Ejemplos

Este es un ejemplo de cómo usar la clase auxiliar BasicRelationship para serializar y crear una relación desde un gemelo digital de edificio a un gemelo digital de piso.

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

Este es un ejemplo de cómo usar la clase auxiliar BasicRelationship para obtener y deserializar una relación.

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

Comentarios

Esta clase auxiliar solo funcionará con System.Text.Json. Cuando se usa con el ObjectSerializerparámetro DigitalTwinsClientOptions , solo funcionará con el valor predeterminado (JsonObjectSerializer).

Para obtener más ejemplos, consulte nuestros ejemplos de repositorio.

Constructores

BasicRelationship()

Aunque las relaciones tienen un esquema definido por el usuario, estas propiedades deben existir en cada instancia. Esto resulta útil para usar como clase base para asegurarse de que las relaciones personalizadas tienen las propiedades necesarias.

Propiedades

ETag

Cadena que representa una ETag débil para la entidad con la que esta solicitud realiza una operación, según RFC7232.

Id

Identificador único de la relación. Este campo está presente en cada relación.

Name

Nombre de la relación, que define el tipo de vínculo (por ejemplo, Contains). Este campo está presente en cada relación.

Properties

Propiedades personalizadas adicionales definidas en el modelo DTDL. Esta propiedad contendrá las propiedades de relación que aún no están definidas en esta clase.

SourceId

Identificador único del gemelo digital de origen. Este campo está presente en cada relación.

TargetId

Identificador único del gemelo digital de destino. Este campo está presente en cada relación.

Se aplica a