Skip to content

Navigation properties from Abstract base types #371

Closed

Description

PrinterBase is an abstract type with the nav property jobs

      <EntityType Name="printerBase" BaseType="graph.entity" Abstract="true">
        <Property Name="capabilities" Type="graph.printerCapabilities" />
        <Property Name="defaults" Type="graph.printerDefaults" />
        <Property Name="displayName" Type="Edm.String" Nullable="false" />
        <Property Name="isAcceptingJobs" Type="Edm.Boolean" />
        <Property Name="location" Type="graph.printerLocation" />
        <Property Name="manufacturer" Type="Edm.String" />
        <Property Name="model" Type="Edm.String" />
        <Property Name="status" Type="graph.printerStatus" Nullable="false" />
        <NavigationProperty Name="jobs" Type="Collection(graph.printJob)" ContainsTarget="true" />
      </EntityType>

This nav property is not in the derived types e.g. printer below.

      <EntityType Name="printer" BaseType="graph.printerBase">
        <Property Name="hasPhysicalDevice" Type="Edm.Boolean" Nullable="false" />
        <Property Name="isShared" Type="Edm.Boolean" Nullable="false" />
        <Property Name="lastSeenDateTime" Type="Edm.DateTimeOffset" />
        <Property Name="registeredDateTime" Type="Edm.DateTimeOffset" Nullable="false" />
        <NavigationProperty Name="connectors" Type="Collection(graph.printConnector)" />
        <NavigationProperty Name="shares" Type="Collection(graph.printerShare)" />
        <NavigationProperty Name="taskTriggers" Type="Collection(graph.printTaskTrigger)" ContainsTarget="true" />
      </EntityType>

In this situation, the conversion library does not propagate the nav property to the derived type and thus paths such as

/print/printers/{printer-id}/jobs and /print/shares/{printerShareId}/jobs will end up missing in the converted document.

Related to microsoftgraph/msgraph-sdk-dotnet#1823

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

priority:p2Medium. Generally has a work-around and a smaller sub-set of customers is affected. SLA <=30 daystype:bugA broken experience

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions