You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

200 lines
37 KiB

<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph GraphDirection="LeftToRight" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
<Nodes>
<Node Id="IModel" Label="CustomDbContext" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" PropertyAccessMode="PropertyAccessMode.Default" ProductVersion="6.0.4" Annotations="BaseTypeDiscoveryConvention:DerivedTypes: System.Collections.Generic.Dictionary`2[System.Type,System.Collections.Generic.List`1[Microsoft.EntityFrameworkCore.Metadata.IConventionEntityType]]
MySql:CharSet: utf8mb4
Relational:Collation: utf8mb4_0900_ai_ci
Relational:MaxIdentifierLength: 64
RelationshipDiscoveryConvention:InverseNavigationCandidates: System.Collections.Generic.Dictionary`2[System.Type,System.Collections.Generic.SortedSet`1[System.Type]]" Category="Model" Group="Expanded" />
<Node Id = "IdentityRole" Label="IdentityRole" Name="IdentityRole" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="Relational:TableName: IdentityRole
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 = "IdentityUser" Label="IdentityUser" Name="IdentityUser" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="Relational:TableName: IdentityUser
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 = "IdentityRole.Id" Label="Id" Name="Id" Category="Property Primary" Type="long" 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 = "IdentityRole.Roles" Label="Roles (*)" Name="Roles" Category="Navigation Collection" Type="ICollection&lt;IdentityUserRole&gt;" Field="" Dependent="IdentityUserRole" Principal="" Inverse="Role" PropertyAccessMode="PropertyAccessMode.Default" />
<Node Id = "IdentityRole.CreationTime" Label="CreationTime" Name="CreationTime" 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 = "IdentityRole.RoleName" Label="RoleName" Name="RoleName" Category="Property Optional" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "IdentityRole.TenantId" Label="TenantId" Name="TenantId" Category="Property Optional" Type="long?" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "IdentityUserOrganizationUnit" Label="IdentityUserOrganizationUnit" Name="IdentityUserOrganizationUnit" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="Relational:TableName: IdentityUserOrganizationUnit
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 = "IdentityUser.Id" Label="Id" Name="Id" Category="Property Primary" Type="long" 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 = "IdentityUser.OrganizationUnits" Label="OrganizationUnits (*)" Name="OrganizationUnits" Category="Navigation Collection" Type="ICollection&lt;IdentityUserOrganizationUnit&gt;" Field="" Dependent="IdentityUserOrganizationUnit" Principal="" Inverse="" PropertyAccessMode="PropertyAccessMode.Default" />
<Node Id = "IdentityUser.Roles" Label="Roles (*)" Name="Roles" Category="Navigation Collection" Type="ICollection&lt;IdentityUserRole&gt;" Field="" Dependent="IdentityUserRole" Principal="" Inverse="User" PropertyAccessMode="PropertyAccessMode.Default" />
<Node Id = "IdentityUser.CreationTime" Label="CreationTime" Name="CreationTime" 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 = "IdentityUser.Email" Label="Email" Name="Email" Category="Property Optional" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "IdentityUser.EmailConfirmed" Label="EmailConfirmed" Name="EmailConfirmed" Category="Property Required" Type="bool" 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 = "IdentityUser.Gender" Label="Gender" Name="Gender" Category="Property Required" Type="bool" 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 = "IdentityUser.LockoutEnabled" Label="LockoutEnabled" Name="LockoutEnabled" Category="Property Required" Type="bool" 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 = "IdentityUser.LockoutEnd" Label="LockoutEnd" Name="LockoutEnd" Category="Property Optional" Type="DateTime?" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "IdentityUser.NickName" Label="NickName" Name="NickName" Category="Property Optional" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "IdentityUser.PasswordHash" Label="PasswordHash" Name="PasswordHash" Category="Property Optional" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "IdentityUser.PhoneNumber" Label="PhoneNumber" Name="PhoneNumber" Category="Property Optional" Type="long?" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "IdentityUser.PhoneNumberConfirmed" Label="PhoneNumberConfirmed" Name="PhoneNumberConfirmed" Category="Property Required" Type="bool" 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 = "IdentityUser.TenantId" Label="TenantId" Name="TenantId" Category="Property Optional" Type="long?" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "IdentityUser.UserAccount" Label="UserAccount" Name="UserAccount" Category="Property Optional" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "IdentityUserRole" Label="IdentityUserRole" Name="IdentityUserRole" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="Relational:TableName: IdentityUserRole
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 = "IdentityUserOrganizationUnit.Id" Label="Id" Name="Id" Category="Property Primary" Type="long" 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 = "IdentityUserOrganizationUnit.IdentityUserId" Label="IdentityUserId" Name="IdentityUserId" Category="Property Foreign" Type="long?" MaxLength="None" Field="nofield" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="True" IsRequired="False" IsIndexed="True" IsShadow="True" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "IdentityUserOrganizationUnit.OrganizationUnitId" Label="OrganizationUnitId" Name="OrganizationUnitId" Category="Property Required" Type="long" 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 = "IdentityUserOrganizationUnit.TenantId" Label="TenantId" Name="TenantId" Category="Property Optional" Type="long?" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "IdentityUserOrganizationUnit.UserId" Label="UserId" Name="UserId" Category="Property Required" Type="long" 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 = "OrganizationUnit" Label="OrganizationUnit" Name="OrganizationUnit" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="Relational:TableName: OrganizationUnit
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 = "IdentityUserRole.Id" Label="Id" Name="Id" Category="Property Primary" Type="long" 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 = "IdentityUserRole.Role" Label="Role (1)" Name="Role" Category="Navigation Property" Type="IdentityRole" Field="" Dependent="" Principal="IdentityRole" Inverse="Roles" PropertyAccessMode="PropertyAccessMode.Default" />
<Node Id = "IdentityUserRole.User" Label="User (1)" Name="User" Category="Navigation Property" Type="IdentityUser" Field="" Dependent="" Principal="IdentityUser" Inverse="Roles" PropertyAccessMode="PropertyAccessMode.Default" />
<Node Id = "IdentityUserRole.CreationTime" Label="CreationTime" Name="CreationTime" 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 = "IdentityUserRole.RoleId" Label="RoleId" Name="RoleId" Category="Property Foreign" Type="long" 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 = "IdentityUserRole.TenantId" Label="TenantId" Name="TenantId" Category="Property Optional" Type="long?" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "IdentityUserRole.UserId" Label="UserId" Name="UserId" Category="Property Foreign" Type="long" 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 = "OrganizationUnitRole" Label="OrganizationUnitRole" Name="OrganizationUnitRole" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="Relational:TableName: OrganizationUnitRole
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 = "OrganizationUnit.Id" Label="Id" Name="Id" Category="Property Primary" Type="Guid" 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 = "OrganizationUnit.Roles" Label="Roles (*)" Name="Roles" Category="Navigation Collection" Type="ICollection&lt;OrganizationUnitRole&gt;" Field="" Dependent="OrganizationUnitRole" Principal="" Inverse="" PropertyAccessMode="PropertyAccessMode.Default" />
<Node Id = "OrganizationUnit.Code" Label="Code" Name="Code" Category="Property Optional" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "OrganizationUnit.CreationTime" Label="CreationTime" Name="CreationTime" 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 = "OrganizationUnit.DisplayName" Label="DisplayName" Name="DisplayName" Category="Property Optional" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "OrganizationUnit.ParentId" Label="ParentId" Name="ParentId" Category="Property Optional" Type="Guid?" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "OrganizationUnit.TenantId" Label="TenantId" Name="TenantId" Category="Property Optional" Type="Guid?" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "PermissionGrant" Label="PermissionGrant" Name="PermissionGrant" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="Relational:TableName: PermissionGrant
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 = "OrganizationUnitRole.Id" Label="Id" Name="Id" Category="Property Primary" Type="Guid" 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 = "OrganizationUnitRole.CreationTime" Label="CreationTime" Name="CreationTime" 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 = "OrganizationUnitRole.OrganizationUnitId" Label="OrganizationUnitId" Name="OrganizationUnitId" Category="Property Foreign" Type="Guid" 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 = "OrganizationUnitRole.RoleId" Label="RoleId" Name="RoleId" Category="Property Required" Type="Guid" 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 = "OrganizationUnitRole.TenantId" Label="TenantId" Name="TenantId" Category="Property Optional" Type="Guid?" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "PermissionGrant" Label="PermissionGrant" Name="PermissionGrant" BaseClass="" IsAbstract="False" ChangeTrackingStrategy="ChangeTrackingStrategy.Snapshot" Annotations="" Category="EntityType" Group="Expanded" />
<Node Id = "PermissionGrant.Id" Label="Id" Name="Id" Category="Property Primary" Type="long" 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 = "PermissionGrant.CreationTime" Label="CreationTime" Name="CreationTime" 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 = "PermissionGrant.PermissionName" Label="PermissionName" Name="PermissionName" Category="Property Optional" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
<Node Id = "PermissionGrant.ProviderKey" Label="ProviderKey" Name="ProviderKey" Category="Property Required" Type="long" 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 = "PermissionGrant.ProviderName" Label="ProviderName" Name="ProviderName" Category="Property Optional" Type="string" MaxLength="None" Field="" PropertyAccessMode="PropertyAccessMode.Default" BeforeSaveBehavior="PropertySaveBehavior.Save" AfterSaveBehavior="PropertySaveBehavior.Save" Annotations="" IsPrimaryKey="False" IsForeignKey="False" IsRequired="False" IsIndexed="False" IsShadow="False" IsAlternateKey="False" IsConcurrencyToken="False" IsUnicode="True" ValueGenerated="None" />
</Nodes>
<Links>
<Link Source = "IModel" Target="IdentityRole" Category="Contains" />
<Link Source = "IModel" Target="IdentityUser" Category="Contains" />
<Link Source = "IdentityRole" Target="IdentityRole.Roles" Category="Contains" />
<Link Source = "IdentityRole" Target="IdentityRole.Id" Category="Contains" />
<Link Source = "IdentityRole" Target="IdentityRole.CreationTime" Category="Contains" />
<Link Source = "IdentityRole" Target="IdentityRole.RoleName" Category="Contains" />
<Link Source = "IdentityRole" Target="IdentityRole.TenantId" Category="Contains" />
<Link Source = "IModel" Target="IdentityUserOrganizationUnit" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.OrganizationUnits" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.Roles" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.Id" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.CreationTime" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.Email" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.EmailConfirmed" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.Gender" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.LockoutEnabled" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.LockoutEnd" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.NickName" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.PasswordHash" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.PhoneNumber" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.PhoneNumberConfirmed" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.TenantId" Category="Contains" />
<Link Source = "IdentityUser" Target="IdentityUser.UserAccount" Category="Contains" />
<Link Source = "IModel" Target="IdentityUserRole" Category="Contains" />
<Link Source = "IdentityUserOrganizationUnit" Target="IdentityUserOrganizationUnit.Id" Category="Contains" />
<Link Source="IdentityUserOrganizationUnit" Target="IdentityUser" From="IdentityUserOrganizationUnit.IdentityUserId" To="IdentityUser.Id" Name="IdentityUserOrganizationUnit -> IdentityUser" Annotations="" IsUnique="False" Label="1:*" Category="Foreign Key" />
<Link Source = "IdentityUserOrganizationUnit" Target="IdentityUserOrganizationUnit.IdentityUserId" Category="Contains" />
<Link Source = "IdentityUserOrganizationUnit" Target="IdentityUserOrganizationUnit.OrganizationUnitId" Category="Contains" />
<Link Source = "IdentityUserOrganizationUnit" Target="IdentityUserOrganizationUnit.TenantId" Category="Contains" />
<Link Source = "IdentityUserOrganizationUnit" Target="IdentityUserOrganizationUnit.UserId" Category="Contains" />
<Link Source = "IModel" Target="OrganizationUnit" Category="Contains" />
<Link Source = "IdentityUserRole" Target="IdentityUserRole.Role" Category="Contains" />
<Link Source = "IdentityUserRole" Target="IdentityUserRole.User" Category="Contains" />
<Link Source = "IdentityUserRole" Target="IdentityUserRole.Id" Category="Contains" />
<Link Source="IdentityUserRole" Target="IdentityRole" From="IdentityUserRole.RoleId" To="IdentityRole.Id" Name="IdentityUserRole -> IdentityRole" Annotations="" IsUnique="False" Label="1:*" Category="Foreign Key" />
<Link Source="IdentityUserRole" Target="IdentityUser" From="IdentityUserRole.UserId" To="IdentityUser.Id" Name="IdentityUserRole -> IdentityUser" Annotations="" IsUnique="False" Label="1:*" Category="Foreign Key" />
<Link Source = "IdentityUserRole" Target="IdentityUserRole.CreationTime" Category="Contains" />
<Link Source = "IdentityUserRole" Target="IdentityUserRole.RoleId" Category="Contains" />
<Link Source = "IdentityUserRole" Target="IdentityUserRole.TenantId" Category="Contains" />
<Link Source = "IdentityUserRole" Target="IdentityUserRole.UserId" Category="Contains" />
<Link Source = "IModel" Target="OrganizationUnitRole" Category="Contains" />
<Link Source = "OrganizationUnit" Target="OrganizationUnit.Roles" Category="Contains" />
<Link Source = "OrganizationUnit" Target="OrganizationUnit.Id" Category="Contains" />
<Link Source = "OrganizationUnit" Target="OrganizationUnit.Code" Category="Contains" />
<Link Source = "OrganizationUnit" Target="OrganizationUnit.CreationTime" Category="Contains" />
<Link Source = "OrganizationUnit" Target="OrganizationUnit.DisplayName" Category="Contains" />
<Link Source = "OrganizationUnit" Target="OrganizationUnit.ParentId" Category="Contains" />
<Link Source = "OrganizationUnit" Target="OrganizationUnit.TenantId" Category="Contains" />
<Link Source = "IModel" Target="PermissionGrant" Category="Contains" />
<Link Source = "OrganizationUnitRole" Target="OrganizationUnitRole.Id" Category="Contains" />
<Link Source="OrganizationUnitRole" Target="OrganizationUnit" From="OrganizationUnitRole.OrganizationUnitId" To="OrganizationUnit.Id" Name="OrganizationUnitRole -> OrganizationUnit" Annotations="" IsUnique="False" Label="1:*" Category="Foreign Key" />
<Link Source = "OrganizationUnitRole" Target="OrganizationUnitRole.CreationTime" Category="Contains" />
<Link Source = "OrganizationUnitRole" Target="OrganizationUnitRole.OrganizationUnitId" Category="Contains" />
<Link Source = "OrganizationUnitRole" Target="OrganizationUnitRole.RoleId" Category="Contains" />
<Link Source = "OrganizationUnitRole" Target="OrganizationUnitRole.TenantId" Category="Contains" />
<Link Source = "IModel" Target="PermissionGrant" Category="Contains" />
<Link Source = "PermissionGrant" Target="PermissionGrant.Id" Category="Contains" />
<Link Source = "PermissionGrant" Target="PermissionGrant.CreationTime" Category="Contains" />
<Link Source = "PermissionGrant" Target="PermissionGrant.PermissionName" Category="Contains" />
<Link Source = "PermissionGrant" Target="PermissionGrant.ProviderKey" Category="Contains" />
<Link Source = "PermissionGrant" Target="PermissionGrant.ProviderName" 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>