-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAppDbContext.dgml
More file actions
127 lines (127 loc) · 16.7 KB
/
AppDbContext.dgml
File metadata and controls
127 lines (127 loc) · 16.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph GraphDirection="LeftToRight" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
<Nodes>
<Node Id="IModel" Label="AppDbContext" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" PropertyAccessMode="PropertyAccessMode.Default" ProductVersion="8.0.2" Annotations="BaseTypeDiscoveryConvention:DerivedTypes: System.Collections.Generic.Dictionary`2[System.Type,System.Collections.Generic.List`1[Microsoft.EntityFrameworkCore.Metadata.IConventionEntityType]]
RelationshipDiscoveryConvention:InverseNavigationCandidates: System.Collections.Generic.Dictionary`2[System.Type,System.Collections.Generic.SortedSet`1[System.Type]]" Category="Model" Group="Expanded" />
<Node Id = "Aircraft" Label="Aircraft" Name="Aircraft" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="Relational:TableName: Aircrafts
RelationshipDiscoveryConvention:NavigationCandidates: System.Collections.Immutable.ImmutableSortedDictionary`2[System.Reflection.PropertyInfo,System.ValueTuple`2[System.Type,System.Nullable`1[System.Boolean]]]" Category="EntityType" Group="Expanded" />
<Node Id = "Flight" Label="Flight" Name="Flight" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="Relational:TableName: Flights
RelationshipDiscoveryConvention:NavigationCandidates: System.Collections.Immutable.ImmutableSortedDictionary`2[System.Reflection.PropertyInfo,System.ValueTuple`2[System.Type,System.Nullable`1[System.Boolean]]]" Category="EntityType" Group="Expanded" />
<Node Id = "Aircraft.AircraftId" Label="AircraftId (int)" Name="AircraftId" Category="Property Primary" Type="int" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="True" IsForeignKey="False" IsRequired="True" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="ValueGenerated.OnAdd" />
<Node Id = "Aircraft.Flights" Label="Flights (*)" Name="Flights" Category="Navigation Collection" Type="ICollection<Flight>" Field="" Dependent="Flight" Principal="" Inverse="Aircraft" PropertyAccessMode="PropertyAccessMode.Default" />
<Node Id = "Aircraft.Registration" Label="Registration (string)" Name="Registration" Category="Property Required" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="True" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "Aircraft.Type" Label="Type (string)" Name="Type" Category="Property Required" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="True" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "FlightPilot" Label="FlightPilot" Name="FlightPilot" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="Relational:TableName: FlightPilots
RelationshipDiscoveryConvention:NavigationCandidates: System.Collections.Immutable.ImmutableSortedDictionary`2[System.Reflection.PropertyInfo,System.ValueTuple`2[System.Type,System.Nullable`1[System.Boolean]]]" Category="EntityType" Group="Expanded" />
<Node Id = "Flight.FlightId" Label="FlightId (int)" Name="FlightId" Category="Property Primary" Type="int" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="True" IsForeignKey="False" IsRequired="True" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="ValueGenerated.OnAdd" />
<Node Id = "Flight.Aircraft" Label="Aircraft (1)" Name="Aircraft" Category="Navigation Property" Type="Aircraft" Field="" Dependent="" Principal="Aircraft" Inverse="Flights" PropertyAccessMode="PropertyAccessMode.Default" />
<Node Id = "Flight.FlightPilots" Label="FlightPilots (*)" Name="FlightPilots" Category="Navigation Collection" Type="ICollection<FlightPilot>" Field="" Dependent="FlightPilot" Principal="" Inverse="Flight" PropertyAccessMode="PropertyAccessMode.Default" />
<Node Id = "Flight.AircraftId" Label="AircraftId (int)" Name="AircraftId" Category="Property Foreign" Type="int" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="True" IsRequired="True" IsIndexed="True" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "Flight.Departure" Label="Departure (string)" Name="Departure" Category="Property Required" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="True" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "Flight.Destination" Label="Destination (string)" Name="Destination" Category="Property Required" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="True" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "Flight.Landing" Label="Landing (DateTime)" Name="Landing" Category="Property Required" Type="DateTime" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="True" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "Flight.Takeoff" Label="Takeoff (DateTime)" Name="Takeoff" Category="Property Required" Type="DateTime" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="True" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "Pilot" Label="Pilot" Name="Pilot" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="Relational:TableName: Pilots
RelationshipDiscoveryConvention:NavigationCandidates: System.Collections.Immutable.ImmutableSortedDictionary`2[System.Reflection.PropertyInfo,System.ValueTuple`2[System.Type,System.Nullable`1[System.Boolean]]]" Category="EntityType" Group="Expanded" />
<Node Id = "FlightPilot.FlightId" Label="FlightId (int)" Name="FlightId" Category="Property Primary" Type="int" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="True" IsForeignKey="True" IsRequired="True" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "FlightPilot.Flight" Label="Flight (1)" Name="Flight" Category="Navigation Property" Type="Flight" Field="" Dependent="" Principal="Flight" Inverse="FlightPilots" PropertyAccessMode="PropertyAccessMode.Default" />
<Node Id = "FlightPilot.Pilot" Label="Pilot (1)" Name="Pilot" Category="Navigation Property" Type="Pilot" Field="" Dependent="" Principal="Pilot" Inverse="FlightPilots" PropertyAccessMode="PropertyAccessMode.Default" />
<Node Id = "FlightPilot.PilotId" Label="PilotId (int)" Name="PilotId" Category="Property Primary" Type="int" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="True" IsForeignKey="True" IsRequired="True" IsIndexed="True" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "Pilot" Label="Pilot" Name="Pilot" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="" Category="EntityType" Group="Expanded" />
<Node Id = "Pilot.PilotId" Label="PilotId (int)" Name="PilotId" Category="Property Primary" Type="int" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="True" IsForeignKey="False" IsRequired="True" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="ValueGenerated.OnAdd" />
<Node Id = "Pilot.FlightPilots" Label="FlightPilots (*)" Name="FlightPilots" Category="Navigation Collection" Type="ICollection<FlightPilot>" Field="" Dependent="FlightPilot" Principal="" Inverse="Pilot" PropertyAccessMode="PropertyAccessMode.Default" />
<Node Id = "Pilot.Name" Label="Name (string)" Name="Name" Category="Property Required" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="True" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
</Nodes>
<Links>
<Link Source = "IModel" Target="Aircraft" Category="Contains" />
<Link Source = "IModel" Target="Flight" Category="Contains" />
<Link Source = "Aircraft" Target="Aircraft.Flights" Category="Contains" />
<Link Source = "Aircraft" Target="Aircraft.AircraftId" Category="Contains" />
<Link Source = "Aircraft" Target="Aircraft.Registration" Category="Contains" />
<Link Source = "Aircraft" Target="Aircraft.Type" Category="Contains" />
<Link Source = "IModel" Target="FlightPilot" Category="Contains" />
<Link Source = "Flight" Target="Flight.Aircraft" Category="Contains" />
<Link Source = "Flight" Target="Flight.FlightPilots" Category="Contains" />
<Link Source = "Flight" Target="Flight.FlightId" Category="Contains" />
<Link Source="Flight" Target="Aircraft" From="Flight.AircraftId" To="Aircraft.AircraftId" Name="Flight -> Aircraft" Annotations="" IsUnique="False" Label="1:*" Category="Foreign Key" />
<Link Source = "Flight" Target="Flight.AircraftId" Category="Contains" />
<Link Source = "Flight" Target="Flight.Departure" Category="Contains" />
<Link Source = "Flight" Target="Flight.Destination" Category="Contains" />
<Link Source = "Flight" Target="Flight.Landing" Category="Contains" />
<Link Source = "Flight" Target="Flight.Takeoff" Category="Contains" />
<Link Source = "IModel" Target="Pilot" Category="Contains" />
<Link Source = "FlightPilot" Target="FlightPilot.Flight" Category="Contains" />
<Link Source = "FlightPilot" Target="FlightPilot.Pilot" Category="Contains" />
<Link Source = "FlightPilot" Target="FlightPilot.FlightId" Category="Contains" />
<Link Source="FlightPilot" Target="Flight" From="FlightPilot.FlightId" To="Flight.FlightId" Name="FlightPilot -> Flight" Annotations="" IsUnique="False" Label="1:*" Category="Foreign Key" />
<Link Source="FlightPilot" Target="Pilot" From="FlightPilot.PilotId" To="Pilot.PilotId" Name="FlightPilot -> Pilot" Annotations="" IsUnique="False" Label="1:*" Category="Foreign Key" />
<Link Source = "FlightPilot" Target="FlightPilot.PilotId" Category="Contains" />
<Link Source = "IModel" Target="Pilot" Category="Contains" />
<Link Source = "Pilot" Target="Pilot.FlightPilots" Category="Contains" />
<Link Source = "Pilot" Target="Pilot.PilotId" Category="Contains" />
<Link Source = "Pilot" Target="Pilot.Name" Category="Contains" />
</Links>
<Styles>
<Style TargetType="Node" GroupLabel="EntityType" ValueLabel="True">
<Condition Expression="HasCategory('EntityType')" />
<Setter Property="Background" Value="#FFC0C0C0" />
</Style>
<Style TargetType="Node" GroupLabel="Property Primary" ValueLabel="True">
<Condition Expression="HasCategory('Property Primary')" />
<Setter Property="Background" Value="#FF008000" />
</Style>
<Style TargetType="Node" GroupLabel="Property Optional" ValueLabel="True">
<Condition Expression="HasCategory('Property Optional')" />
<Setter Property="Background" Value="#FF808040" />
</Style>
<Style TargetType="Node" GroupLabel="Property Foreign" ValueLabel="True">
<Condition Expression="HasCategory('Property Foreign')" />
<Setter Property="Background" Value="#FF8080FF" />
</Style>
<Style TargetType="Node" GroupLabel="Property Required" ValueLabel="True">
<Condition Expression="HasCategory('Property Required')" />
<Setter Property="Background" Value="#FFC0A000" />
</Style>
<Style TargetType="Node" GroupLabel="Navigation Property" ValueLabel="True">
<Condition Expression="HasCategory('Navigation Property')" />
<Setter Property="Background" Value="#FF990000" />
</Style>
<Style TargetType="Node" GroupLabel="Navigation Collection" ValueLabel="True">
<Condition Expression="HasCategory('Navigation Collection')" />
<Setter Property="Background" Value="#FFFF3232" />
</Style>
<Style TargetType="Node" GroupLabel="Model" ValueLabel="True">
<Condition Expression="HasCategory('Model')" />
<Setter Property="Background" Value="#FFFFFFFF" />
</Style>
</Styles>
<Properties>
<Property Id="Name" Group="Model Properties" DataType="System.String" />
<Property Id="Field" Description="Backing field" Group="Model Properties" DataType="System.String" />
<Property Id="Type" Description="CLR data type" Group="Model Properties" DataType="System.String" />
<Property Id="To" Description="Source property" Group="Model Properties" DataType="System.String" />
<Property Id="From" Description="Target property" Group="Model Properties" DataType="System.String" />
<Property Id="Dependent" Description="Dependent entity" Group="Model Properties" DataType="System.String" />
<Property Id="Inverse" Description="Inverse entity" Group="Model Properties" DataType="System.String" />
<Property Id="Principal" Description="Principal entity" Group="Model Properties" DataType="System.String" />
<Property Id="Annotations" Description="Annotations" Group="Model Properties" DataType="System.String" />
<Property Id="BaseClass" Description="Base class" Group="Model Properties" DataType="System.String" />
<Property Id="ChangeTrackingStrategy" Description="Change tracking strategy" Group="Model Properties" DataType="System.String" />
<Property Id="IsUnique" Group="Model Properties" DataType="System.Boolean" />
<Property Id="IsAbstract" Group="Model Properties" DataType="System.Boolean" />
<Property Id="ProductVersion" Label="Product Version" Description="EF Core product version" Group="Model Properties" DataType="System.String" />
<Property Id="IsIndexed" Group="Property Flags" DataType="System.Boolean" />
<Property Id="IsRequired" Group="Property Flags" DataType="System.Boolean" />
<Property Id="IsPrimaryKey" Group="Property Flags" DataType="System.Boolean" />
<Property Id="IsForeignKey" Group="Property Flags" DataType="System.Boolean" />
<Property Id="IsShadow" Group="Property Flags" DataType="System.Boolean" />
<Property Id="IsAlternateKey" Group="Property Flags" DataType="System.Boolean" />
<Property Id="IsConcurrencyToken" Group="Property Flags" DataType="System.Boolean" />
<Property Id="IsIndexed" Group="Property Flags" DataType="System.Boolean" />
<Property Id="IsUnicode" Group="Property Flags" DataType="System.Boolean" />
<Property Id="ValueGenerated" Group="Property Flags" DataType="System.String" />
<Property Id="BeforeSaveBehavior" Group="Property Flags" DataType="System.String" />
<Property Id="AfterSaveBehavior" Group="Property Flags" DataType="System.String" />
<Property Id="PropertyAccessMode" Group="Property Flags" DataType="System.String" />
</Properties>
</DirectedGraph>