// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;

#pragma warning disable 219, 612, 618
#nullable disable

namespace TestNamespace
{
    public partial class DbContextModel
    {
        private DbContextModel()
            : base(skipDetectChanges: false, modelId: new Guid("00000000-0000-0000-0000-000000000000"), entityTypeCount: 10)
        {
        }

        partial void Initialize()
        {
            var autoIncrementEntity = AutoIncrementEntityEntityType.Create(this);
            var data = DataEntityType.Create(this);
            var dependentBase = DependentBaseEntityType.Create(this);
            var manyTypes = ManyTypesEntityType.Create(this);
            var principalBase = PrincipalBaseEntityType.Create(this);
            var ownedType = OwnedTypeEntityType.Create(this);
            var ownedType0 = OwnedType0EntityType.Create(this);
            var principalBasePrincipalDerivedDependentBasebyte = PrincipalBasePrincipalDerivedDependentBasebyteEntityType.Create(this);
            var dependentDerived = DependentDerivedEntityType.Create(this, dependentBase);
            var principalDerived = PrincipalDerivedEntityType.Create(this, principalBase);

            DependentBaseEntityType.CreateForeignKey1(dependentBase, principalBase);
            DependentBaseEntityType.CreateForeignKey2(dependentBase, principalDerived);
            OwnedTypeEntityType.CreateForeignKey1(ownedType, principalBase);
            OwnedTypeEntityType.CreateForeignKey2(ownedType, ownedType);
            OwnedType0EntityType.CreateForeignKey1(ownedType0, principalDerived);
            PrincipalBasePrincipalDerivedDependentBasebyteEntityType.CreateForeignKey1(principalBasePrincipalDerivedDependentBasebyte, principalDerived);
            PrincipalBasePrincipalDerivedDependentBasebyteEntityType.CreateForeignKey2(principalBasePrincipalDerivedDependentBasebyte, principalBase);
            PrincipalDerivedEntityType.CreateForeignKey1(principalDerived, principalBase);

            PrincipalBaseEntityType.CreateSkipNavigation1(principalBase, principalDerived, principalBasePrincipalDerivedDependentBasebyte);
            PrincipalDerivedEntityType.CreateSkipNavigation1(principalDerived, principalBase, principalBasePrincipalDerivedDependentBasebyte);

            AutoIncrementEntityEntityType.CreateAnnotations(autoIncrementEntity);
            DataEntityType.CreateAnnotations(data);
            DependentBaseEntityType.CreateAnnotations(dependentBase);
            ManyTypesEntityType.CreateAnnotations(manyTypes);
            PrincipalBaseEntityType.CreateAnnotations(principalBase);
            OwnedTypeEntityType.CreateAnnotations(ownedType);
            OwnedType0EntityType.CreateAnnotations(ownedType0);
            PrincipalBasePrincipalDerivedDependentBasebyteEntityType.CreateAnnotations(principalBasePrincipalDerivedDependentBasebyte);
            DependentDerivedEntityType.CreateAnnotations(dependentDerived);
            PrincipalDerivedEntityType.CreateAnnotations(principalDerived);

        }
    }
}
