Compartilhar via


BasicRelationship Classe

Definição

Embora as relações tenham um esquema definido pelo usuário, essas propriedades devem existir em todas as instâncias. Isso é útil para usar como uma classe base para garantir que suas relações personalizadas tenham as propriedades necessárias.

public class BasicRelationship
type BasicRelationship = class
Public Class BasicRelationship
Herança
BasicRelationship

Exemplos

Aqui está um exemplo de como usar a classe auxiliar BasicRelationship para serializar e criar uma relação de um gêmeo digital de construção para um gêmeo 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}'.");

Aqui está um exemplo de como usar a classe auxiliar BasicRelationship para obter e desserializar uma relação.

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

Comentários

Essa classe auxiliar só funcionará com System.Text.Json. Quando usado com o ObjectSerializerparâmetro DigitalTwinsClientOptions , ele só funcionará com o padrão (JsonObjectSerializer).

Para obter mais exemplos, confira nossos exemplos de repositório.

Construtores

BasicRelationship()

Embora as relações tenham um esquema definido pelo usuário, essas propriedades devem existir em todas as instâncias. Isso é útil para usar como uma classe base para garantir que suas relações personalizadas tenham as propriedades necessárias.

Propriedades

ETag

Uma cadeia de caracteres que representa uma ETag fraca para a entidade na qual essa solicitação executa uma operação, de acordo com RFC7232.

Id

A ID exclusiva da relação. Esse campo está presente em todas as relações.

Name

O nome da relação, que define o tipo de link (por exemplo, Contains). Esse campo está presente em todas as relações.

Properties

Propriedades personalizadas adicionais definidas no modelo DTDL. Essa propriedade conterá todas as propriedades de relação que ainda não estão definidas nessa classe.

SourceId

A ID exclusiva do gêmeo digital de origem. Esse campo está presente em todas as relações.

TargetId

A ID exclusiva do gêmeo digital de destino. Esse campo está presente em todas as relações.

Aplica-se a