<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="JetEntityFrameworkProvider" Provider="JetEntityFrameworkProvider" ProviderManifestToken="2005" Alias="Self" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
          SHOW TABLES
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SHOW TABLECOLUMNS
  	  </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SHOW VIEWS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SHOW VIEWCOLUMNS
	  </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SIndexes" EntityType="Self.Index">
      <DefiningQuery>
        SHOW INDEXES
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SIndexColumns" EntityType="Self.IndexColumn">
      <DefiningQuery>
        SHOW INDEXCOLUMNS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
          SHOW FUNCTIONS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SHOW FUNCTIONPARAMETERS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionReturnTableColumns" EntityType="Self.FunctionReturnTableColumn">
      <DefiningQuery>
        SHOW FUNCTIONRETURNTABLECOLUMNS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SHOW PROCEDURES
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SHOW PROCEDUREPARAMETERS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SHOW CONSTRAINTS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SHOW CHECKCONSTRAINTS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SHOW CONSTRAINTCOLUMNS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SHOW FOREIGNKEYCONSTRAINTS
      </DefiningQuery>
    </EntitySet>
  
    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SHOW FOREIGNKEYS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SHOW VIEWCONSTRAINTS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SHOW VIEWCONSTRAINTCOLUMNS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SHOW VIEWFOREIGNKEYS
      </DefiningQuery>
    </EntitySet>

    <AssociationSet Name="STableTableColumns" Association="Self.TableTableColumn" >
      <End Role="Parent" EntitySet="STables"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>
    <AssociationSet Name="STableConstraints" Association="Self.TableTableConstraint" >
      <End Role="Parent" EntitySet="STables"/>
      <End Role="Constraint" EntitySet="SConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SConstraintConstraintColumns" Association="Self.ConstraintConstraintColumn" >
      <End Role="ConstraintColumn" EntitySet="SConstraintColumns"/>
      <End Role="Constraint" EntitySet="SConstraints"/>
    </AssociationSet>    
    <AssociationSet Name="SConstraintForeignKeys" Association="Self.ConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Constraint" EntitySet="SForeignKeyConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SFromForeignKeyColumns" Association="Self.FromForeignKeyColumn" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>
    <AssociationSet Name="SToForeignKeyColumns" Association="Self.ToForeignKeyColumn" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>

    <AssociationSet Name="SViewViewColumns" Association="Self.ViewViewColumn" >
      <End Role="Parent" EntitySet="SViews"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="SViewViewConstraints" Association="Self.ViewViewConstraint" >
      <End Role="Parent" EntitySet="SViews"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SViewConstraintConstraintColumns" Association="Self.ViewConstraintConstraintColumn" >
      <End Role="ConstraintColumn" EntitySet="SViewConstraintColumns"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SViewConstraintForeignKeys" Association="Self.ViewConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SFromForeignKeyViewColumns" Association="Self.FromForeignKeyViewColumn" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="SToForeignKeyViewColumns" Association="Self.ToForeignKeyViewColumn" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>

    <AssociationSet Name="FunctionFunctionParameters" Association="Self.FunctionFunctionParameter">
      <End Role="Function" EntitySet="SFunctions"/>
      <End Role="Parameter" EntitySet="SFunctionParameters"/>
    </AssociationSet>
    <AssociationSet Name="FunctionFunctionReturnTableColumns" Association="Self.FunctionFunctionReturnTableColumn" >
      <End Role="Function" EntitySet="SFunctions"/>
      <End Role="Column" EntitySet="SFunctionReturnTableColumns"/>
    </AssociationSet>
    <AssociationSet Name="ProcedureProcedureParameters" Association="Self.ProcedureProcedureParameter" >
      <End Role="Procedure" EntitySet="SProcedures"/>
      <End Role="Parameter" EntitySet="SProcedureParameters"/>
    </AssociationSet>

  </EntityContainer>

  <EntityType Name="Table">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="CatalogName" Type="varchar" MaxLength="255" />
    <Property Name="SchemaName" Type="varchar" MaxLength="255" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="Type" Type="varchar" MaxLength="10" />
  </EntityType>

  <EntityType Name="TableColumn" >
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="Table" Type="varchar" MaxLength="255"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="text"/>
    <Property Name="IsKey" Nullable="true" Type="bit" />
  </EntityType>

  <EntityType Name="View">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="CatalogName" Type="varchar" MaxLength="255" />
    <Property Name="SchemaName" Type="varchar" MaxLength="255" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ViewDefinition" Nullable="true" Type="text" />
    <Property Name="IsUpdatable" Nullable="false" Type="bit" />
  </EntityType>

  <EntityType Name="ViewColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="Table" Nullable="true" Type="varchar" MaxLength="255"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="text"/>
    <Property Name="IsKey" Nullable="true" Type="bit" />
  </EntityType>

  <EntityType Name="Index">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="Table" Nullable="false" MaxLength="255" Type="varchar" />
    <Property Name="Name" Nullable="false" MaxLength="255" Type="varchar" />
    <Property Name="IsUnique" Nullable="false" Type="bit" />
    <Property Name="IsPrimary" Nullable="false" Type="bit" />
  </EntityType>

  <EntityType Name="IndexColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ColumnId" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="Table" Nullable="false" MaxLength="255" Type="varchar" />
    <Property Name="Index" Nullable="false" MaxLength="255" Type="varchar" />
    <Property Name="IsUnique" Nullable="false" Type="bit" />
    <Property Name="IsPrimary" Nullable="false" Type="bit" />
    <Property Name="Name" Nullable="false" MaxLength="255" Type="varchar" />
    <Property Name="Ordinal" Nullable="false" Type="int" />
  </EntityType>

  <EntityType Name="Function">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="CatalogName" Type="varchar" MaxLength="255"/>
    <Property Name="SchemaName" Type="varchar" MaxLength="255"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="ReturnTypeName" Type="varchar" MaxLength="255" />
    <Property Name="ReturnMaxLength" Type="int" />
    <Property Name="ReturnPrecision" Type="int" />
    <Property Name="ReturnDateTimePrecision" Type="int" />
    <Property Name="ReturnScale" Type="int" />
    <Property Name="ReturnCollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCollationName" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="ReturnIsMultiSet" Type="bit" />
    <Property Name="IsAggregate" Type="bit" />
    <Property Name="IsBuiltIn" Type="bit" />
    <Property Name="IsNiladic" Type="bit" />
    <Property Name="IsTvf" Nullable="false" Type="bit" />
  </EntityType>

  <EntityType Name="Procedure">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="CatalogName" Type="varchar" MaxLength="255"/>
    <Property Name="SchemaName" Type="varchar" MaxLength="255"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="255"/>
  </EntityType>

  <EntityType Name="Parameter">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="Ordinal" Nullable="false" Type="int"/>
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="MaxLength" Nullable="true" Type="int" />
    <Property Name="Precision" Nullable="true" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Nullable="true" Type="int" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="Mode" Type="varchar" MaxLength="16" />
    <Property Name="Default" Type="text" />
  </EntityType>

  <EntityType Name="FunctionReturnTableColumn" >
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="255"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="text"/>
  </EntityType>

  <EntityType Name="Constraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="Name" Nullable="false" MaxLength="255" Type="varchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="CheckConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="Expression" Nullable="true" Type="text" />
  </EntityType>
  
  <EntityType Name="ConstraintColumn">
    <Key>
      <PropertyRef Name="ConstraintId" />
      <PropertyRef Name="ColumnId" />
    </Key>
    <Property Name="ConstraintId" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ColumnId" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ConstraintName" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ConstraintType" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="TableName" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ColumnName" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ColumnOrdinal" Nullable="false" Type="varchar"/>
  </EntityType>

  <EntityType Name="ForeignKeyConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ToTableId" Type="varchar" MaxLength="255" />
    <Property Name="FromTableId" Type="varchar" MaxLength="255" />
    <Property Name="UpdateRule" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="ForeignKey">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="ConstraintId" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="FromColumnId" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ToColumnId" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="FromTable" Type="varchar" MaxLength="255" />
    <Property Name="FromColumn" Type="varchar" MaxLength="255" />
    <Property Name="ToTable" Type="varchar" MaxLength="255" />
    <Property Name="ToColumn" Type="varchar" MaxLength="255" />
    <Property Name="UpdateRule" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="ViewConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="255" />
    <Property Name="Name" Nullable="false" MaxLength="255" Type="varchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="Expression" Nullable="true" Type="text" />
    <Property Name="UpdateRule" Nullable="true" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="true" MaxLength="11" Type="varchar" />
  </EntityType>

  <Association Name="TableTableConstraint">
    <End Type="Self.Table" Role="Parent" Multiplicity="1" />
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Constraint">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ConstraintConstraintColumn">
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ConstraintColumn" Role="ConstraintColumn" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ConstraintColumn">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ConstraintForeignKey">
    <End Type="Self.ForeignKeyConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FromForeignKeyColumn">
    <End Type="Self.TableColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="FromColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ToForeignKeyColumn">
    <End Type="Self.TableColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ToColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="TableTableColumn">
    <End Type="Self.Table" Role="Parent" Multiplicity="1" />
    <End Type="Self.TableColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewViewColumn">
    <End Type="Self.View" Role="Parent" Multiplicity="1" />
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FunctionFunctionParameter">
    <End Type="Self.Function" Role="Function" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Function">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Parameter">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FunctionFunctionReturnTableColumn">
    <End Type="Self.Function" Role="Function" Multiplicity="1" />
    <End Type="Self.FunctionReturnTableColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Function">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ProcedureProcedureParameter">
    <End Type="Self.Procedure" Role="Procedure" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Procedure">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Parameter">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewViewConstraint">
    <End Type="Self.View" Role="Parent" Multiplicity="1" />
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Constraint">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewConstraintConstraintColumn">
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ConstraintColumn" Role="ConstraintColumn" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ConstraintColumn">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewConstraintForeignKey">
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FromForeignKeyViewColumn">
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="FromColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ToForeignKeyViewColumn">
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ToColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

</Schema>