KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12
System : Windows NT SERVER-PC 10.0 build 26200 (Windows 11) AMD64
User : ServerPC ( 0)
PHP Version : 8.2.12
Disable Function : NONE
Directory :  C:/Windows/Microsoft.NET/Framework64/v4.0.30319/no/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : C:/Windows/Microsoft.NET/Framework64/v4.0.30319/no/System.Data.Entity.resources.dll
MZ����@���	�!�L�!This program cannot be run in DOS mode.

$PEL�Pb�!�1 @@ �`H@��1W@`�'`  H.text�  `.rsrc`@@@.reloc`@B�1H�)�	P 	m)�T<?xml version="1.0" encoding="utf-8"?>
<!-- 
####################################################################################################################

BE AWARE THAT THE ORDER IN WHICH TYPES ARE DESCRIBED IN THE PROVIDER MANIFEST IS RELEVANT AND HAVE IMPACT IN LOOKUP
PROCESS

#################################################################################################################### 
-->
<ProviderManifest Namespace="SqlServer" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/providermanifest">
  <Types>
    <Type Name="tinyint" PrimitiveTypeKind="Byte">
    </Type>
    <Type Name="smallint" PrimitiveTypeKind="Int16">
    </Type>
    <Type Name="int" PrimitiveTypeKind="Int32">
    </Type>
    <Type Name="bigint" PrimitiveTypeKind="Int64">
    </Type>
    <Type Name="float" PrimitiveTypeKind="Double">
    </Type>
    <Type Name="real" PrimitiveTypeKind="Single">
    </Type>
    <Type Name="decimal" PrimitiveTypeKind="Decimal">
      <FacetDescriptions>
        <Precision Minimum="1" Maximum="38" DefaultValue="18" Constant="false"/>
        <Scale Minimum="0" Maximum="38" DefaultValue="0" Constant="false"/>
      </FacetDescriptions>
    </Type>
    <Type Name="numeric" PrimitiveTypeKind="Decimal">
      <FacetDescriptions>
        <Precision Minimum="1" Maximum="38" DefaultValue="18" Constant="false"/>
        <Scale Minimum="0" Maximum="38" DefaultValue="0" Constant="false"/>
      </FacetDescriptions>
    </Type>
    <Type Name="smallmoney" PrimitiveTypeKind="Decimal">
      <FacetDescriptions>
        <Precision DefaultValue="10" Constant="true"/>
        <Scale DefaultValue="4" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="money" PrimitiveTypeKind="Decimal">
      <FacetDescriptions>
        <Precision DefaultValue="19" Constant="true"/>
        <Scale DefaultValue="4" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="binary" PrimitiveTypeKind="Binary">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="8000" DefaultValue="8000" Constant="false"/>
        <FixedLength DefaultValue="true" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="varbinary" PrimitiveTypeKind="Binary">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="8000" DefaultValue="8000" Constant="false"/>
        <FixedLength DefaultValue="false" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="varbinary(max)" PrimitiveTypeKind="Binary">
      <FacetDescriptions>
        <MaxLength DefaultValue="2147483647" Constant="true"/>
        <FixedLength DefaultValue="false" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="image" PrimitiveTypeKind="Binary">
      <FacetDescriptions>
        <MaxLength DefaultValue="2147483647" Constant="true"/>
        <FixedLength DefaultValue="false" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="timestamp" PrimitiveTypeKind="Binary">
      <FacetDescriptions>
        <MaxLength DefaultValue="8" Constant="true"/>
        <FixedLength DefaultValue="true" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="rowversion" PrimitiveTypeKind="Binary">
      <FacetDescriptions>
        <MaxLength DefaultValue="8" Constant="true"/>
        <FixedLength DefaultValue="true" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="bit" PrimitiveTypeKind="Boolean">
    </Type>
    <Type Name="smalldatetime" PrimitiveTypeKind="DateTime">
      <FacetDescriptions>
        <Precision DefaultValue="0" Constant="true"/>          
      </FacetDescriptions>
    </Type>
    <Type Name="datetime" PrimitiveTypeKind="DateTime">
      <FacetDescriptions>
          <Precision DefaultValue="3" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="datetime2" PrimitiveTypeKind="DateTime">
      <FacetDescriptions>
        <Precision Minimum="0" Maximum="7" DefaultValue="7" Constant="false"/>              
      </FacetDescriptions>
    </Type>
    <Type Name="date" PrimitiveTypeKind="DateTime">
      <FacetDescriptions>
        <Precision DefaultValue="0" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="time" PrimitiveTypeKind="Time">
      <FacetDescriptions>
        <Precision Minimum="0" Maximum="7" DefaultValue="7" Constant="false"/>
      </FacetDescriptions>
    </Type>
    <Type Name="datetimeoffset" PrimitiveTypeKind="DateTimeOffset">
      <FacetDescriptions>
        <Precision Minimum="0" Maximum="7" DefaultValue="7" Constant="false"/>
      </FacetDescriptions>
    </Type>
    <Type Name="nvarchar" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="4000" DefaultValue="4000" Constant="false"/>
        <Unicode DefaultValue="true" Constant="true"/>
        <FixedLength DefaultValue="false" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="varchar" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="8000" DefaultValue="8000" Constant="false"/>
        <Unicode DefaultValue="false" Constant="true"/>
        <FixedLength DefaultValue="false" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="char" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="8000" DefaultValue="8000" Constant="false"/>
        <Unicode DefaultValue="false" Constant="true"/>
        <FixedLength DefaultValue="true" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="nchar" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="4000" DefaultValue="4000" Constant="false"/>
        <Unicode DefaultValue="true" Constant="true"/>
        <FixedLength DefaultValue="true" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="varchar(max)" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength DefaultValue="2147483647" Constant="true"/>
        <Unicode DefaultValue="false" Constant="true"/>
        <FixedLength DefaultValue="false" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="nvarchar(max)" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength DefaultValue="1073741823" Constant="true"/>
        <Unicode DefaultValue="true" Constant="true"/>
        <FixedLength DefaultValue="false" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="ntext" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength DefaultValue="1073741823" Constant="true"/>
        <Unicode DefaultValue="true" Constant="true"/>
        <FixedLength DefaultValue="false" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="text" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength DefaultValue="2147483647" Constant="true"/>
        <Unicode DefaultValue="false" Constant="true"/>
        <FixedLength DefaultValue="false" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="uniqueidentifier" PrimitiveTypeKind="Guid">
    </Type>
    <Type Name="xml" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength DefaultValue="1073741823" Constant="true"/>
        <Unicode DefaultValue="true" Constant="true"/>
        <FixedLength DefaultValue="false" Constant="true"/>
      </FacetDescriptions>
    </Type>
    <Type Name="geography" PrimitiveTypeKind="Geography">
      <FacetDescriptions>
        <SRID Minimum="0" Maximum="9999" DefaultValue="Variable" Constant="false"/>
        <IsStrict DefaultValue="true" Constant="false"/>
      </FacetDescriptions>
    </Type>
    <Type Name="geometry" PrimitiveTypeKind="Geometry">
      <FacetDescriptions>
        <SRID Minimum="0" Maximum="9999" DefaultValue="Variable" Constant="false"/>
        <IsStrict DefaultValue="true" Constant="false"/>
      </FacetDescriptions>
    </Type>
  </Types>
  <Functions>

    <!-- BEGIN AGGREGATES ############################################# -->
    <!-- AVG -->
    <Function Name="AVG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Int32)" Mode="In"/>
    </Function>
    <Function Name="AVG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Int64)" Mode="In"/>
    </Function>
    <Function Name="AVG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In"/>
    </Function>
    <Function Name="AVG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>

    <!-- CHECKSUM_AGG -->
    <Function Name="CHECKSUM_AGG" Aggregate="true" BuiltIn="true" ParameterTypeSemantics="ExactMatchOnly">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Int32)" Mode="In"/>
    </Function>

    <!-- COUNT -->
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Boolean)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(DateTime)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(DateTimeOffset)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Time)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Guid)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(String)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Binary)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Int64)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Int32)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Int16)" Mode="In"/>
    </Function>

    <!-- COUNT_BIG -->
    <Function Name="COUNT_BIG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Boolean)" Mode="In"/>
    </Function>
    <Function Name="COUNT_BIG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>
    <Function Name="COUNT_BIG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In"/>
    </Function>
    <Function Name="COUNT_BIG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(DateTime)" Mode="In"/>
    </Function>
    <Function Name="COUNT_BIG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(DateTimeOffset)" Mode="In"/>
    </Function>
    <Function Name="COUNT_BIG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Time)" Mode="In"/>
    </Function>
    <Function Name="COUNT_BIG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Guid)" Mode="In"/>
    </Function>
    <Function Name="COUNT_BIG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(String)" Mode="In"/>
    </Function>
    <Function Name="COUNT_BIG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Binary)" Mode="In"/>
    </Function>
    <Function Name="COUNT_BIG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Int64)" Mode="In"/>
    </Function>
    <Function Name="COUNT_BIG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Int32)" Mode="In"/>
    </Function>
    <Function Name="COUNT_BIG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Int16)" Mode="In"/>
    </Function>

    <!-- GROUPING !NOT SUPPORTED! -->

    <!-- MAX -->
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Byte"/>
      <Parameter Name="arg" Type="Collection(Byte)" Mode="In"/>
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int16"/>
      <Parameter Name="arg" Type="Collection(Int16)" Mode="In"/>
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Int32)" Mode="In"/>
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Int64)" Mode="In"/>
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In"/>
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Single"/>
      <Parameter Name="arg" Type="Collection(Single)" Mode="In"/>
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="DateTime"/>
      <Parameter Name="arg" Type="Collection(DateTime)" Mode="In"/>
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Time"/>
      <Parameter Name="arg" Type="Collection(Time)" Mode="In"/>
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="DateTimeOffset"/>
      <Parameter Name="arg" Type="Collection(DateTimeOffset)" Mode="In"/>
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="arg" Type="Collection(String)" Mode="In"/>
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Binary"/>
      <Parameter Name="arg" Type="Collection(Binary)" Mode="In"/>
    </Function>

    <!-- MIN -->
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Byte"/>
      <Parameter Name="arg" Type="Collection(Byte)" Mode="In"/>
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int16"/>
      <Parameter Name="arg" Type="Collection(Int16)" Mode="In"/>
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Int32)" Mode="In"/>
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Int64)" Mode="In"/>
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In"/>
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Single"/>
      <Parameter Name="arg" Type="Collection(Single)" Mode="In"/>
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="DateTime"/>
      <Parameter Name="arg" Type="Collection(DateTime)" Mode="In"/>
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Time"/>
      <Parameter Name="arg" Type="Collection(Time)" Mode="In"/>
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="DateTimeOffset"/>
      <Parameter Name="arg" Type="Collection(DateTimeOffset)" Mode="In"/>
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="arg" Type="Collection(String)" Mode="In"/>
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Binary"/>
      <Parameter Name="arg" Type="Collection(Binary)" Mode="In"/>
    </Function>

    <!-- SUM -->
    <Function Name="SUM" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Collection(Int32)" Mode="In"/>
    </Function>
    <Function Name="SUM" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Collection(Int64)" Mode="In"/>
    </Function>
    <Function Name="SUM" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In"/>
    </Function>
    <Function Name="SUM" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>

    <!-- STDEV -->
    <Function Name="STDEV" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>

    <Function Name="STDEV" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In"/>
    </Function>


      <!-- STDEVP -->
    <Function Name="STDEVP" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>

      <Function Name="STDEVP" Aggregate="true" BuiltIn="true">
          <ReturnType Type="Double"/>
          <Parameter Name="arg" Type="Collection(Decimal)" Mode="In"/>
      </Function>      

    <!-- VAR -->
    <Function Name="VAR" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>

    <Function Name="VAR" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In"/>
    </Function>

      <!-- VARP -->
    <Function Name="VARP" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>

    <Function Name="VARP" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In"/>
    </Function>


      <!-- END AGGREGATES ############################################# -->

    <!-- BEGIN STRING FUNCTIONS ##################################### -->
    <!-- ASCII( arg ) 
                arg1: char, varchar (nvarchar is allowed by SQL server)
                returns: int   
        -->
    <Function Name="ASCII" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>

    <!-- CHAR( arg )
                arg: tinyint, *smallint, *int, *bigint
                returns: char(1)
        -->
    <Function Name="CHAR" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="arg" Type="Int32" Mode="In"/>
    </Function>

    <!-- CHARINDEX( strSearch, strTarget [, startLocation ] )
                strSearch: character expression
                strTarget: character expression
                startLocation: tinyint, smallint, int, bigint
                returns: int, bigint   
        -->
    <Function Name="CHARINDEX" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="strSearch" Type="String" Mode="In"/>
      <Parameter Name="strTarget" Type="String" Mode="In"/>
    </Function>
    <Function Name="CHARINDEX" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="strSearch" Type="Binary" Mode="In"/>
      <Parameter Name="strTarget" Type="Binary" Mode="In"/>
    </Function>
    <Function Name="CHARINDEX" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="strSearch" Type="String" Mode="In"/>
      <Parameter Name="strTarget" Type="String" Mode="In"/>
      <Parameter Name="startLocation" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="CHARINDEX" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="strSearch" Type="Binary" Mode="In"/>
      <Parameter Name="strTarget" Type="Binary" Mode="In"/>
      <Parameter Name="startLocation" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="CHARINDEX" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="strSearch" Type="String" Mode="In"/>
      <Parameter Name="strTarget" Type="String" Mode="In"/>
      <Parameter Name="startLocation" Type="Int64" Mode="In"/>
    </Function>
    <Function Name="CHARINDEX" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="strSearch" Type="Binary" Mode="In"/>
      <Parameter Name="strTarget" Type="Binary" Mode="In"/>
      <Parameter Name="startLocation" Type="Int64" Mode="In"/>
    </Function>

    <!-- DIFFERENCE( str1, str2 ) 
            str1: varchar
            str2: varchar
            returns: int   
        -->
    <Function Name="DIFFERENCE" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="str1" Type="String" Mode="In"/>
      <Parameter Name="str2" Type="String" Mode="In"/>
    </Function>
    <!-- LEFT( str, count ) 
                str: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
                count: tinyint, smallint, int, bigint
                returns: varchar, nvarchar
        -->
    <Function Name="LEFT" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="count" Type="Int64" Mode="In"/>
    </Function>

    <!-- LEN( string_expression )
                string_expression: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
                returns: int, bigint   
        -->
    <Function Name="LEN" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="string_expression" Type="String" Mode="In"/>
    </Function>
    <Function Name="LEN" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="string_expression" Type="Binary" Mode="In"/>
    </Function>

    <!-- LOWER( str ) 
            str: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
            returns: varchar, nvarchar   
        -->
    <Function Name="LOWER" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>


    <!-- LTRIM( str ) 
            str: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
            returns: varchar, nvarchar
        -->
    <Function Name="LTRIM" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- nchar( ncharCode ) 
                ncharCode: tinyint, smallint, int, bigint
                returns: nchar(1)
        -->
    <Function Name="NCHAR" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="arg" Type="Int32" Mode="In"/>
    </Function>

    <!-- PATINDEX( strPattern, strTarget )
            strPattern: char, nchar, varchar, nvarchar
            strTarget: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
            returns: int, bigint   
        -->
    <Function Name="PATINDEX" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="strPattern" Type="String" Mode="In"/>
      <Parameter Name="strTarget" Type="String" Mode="In"/>
    </Function>

    <!-- QUOTENAME( character_string [,quote_character] ) 
                character_string: nchar, nvarchar, nvarchar(max)
                quote_character: nchar, char, varchar, nvarchar
                returns: nvarchar   
        -->
    <Function Name="QUOTENAME" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="character_string" Type="String" Mode="In"/>
    </Function>
    <Function Name="QUOTENAME" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="character_string" Type="String" Mode="In"/>
      <Parameter Name="quote_character" Type="String" Mode="In"/>
    </Function>

    <!-- REPLACE( strTarget, strSearch, strReplacement )
            strTarget: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
            strSearch: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
            strReplacement: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
            returns: varchar, nvarchar   
        -->
    <Function Name="REPLACE" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="strTarget" Type="String" Mode="In"/>
      <Parameter Name="strSearch" Type="String" Mode="In"/>
      <Parameter Name="strReplacement" Type="String" Mode="In"/>
    </Function>

    <!-- REPLICATE( strSource, count )
            strSource: varchar, nvarchar
            count: tinyint, smallint, int
            returns: varchar, nvarchar   
        -->
    <Function Name="REPLICATE" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="strTarget" Type="String" Mode="In"/>
      <Parameter Name="count" Type="Int32" Mode="In"/>
    </Function>

    <!-- REVERSE( arg ) 
            arg: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
            returns: varchar, nvarchar
        -->
    <Function Name="REVERSE" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>

    <!-- RIGHT( atr, count ) 
                str: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
                count: tinyint, smallint, int, bigint
                returns: varchar, nvarchar
        -->
    <Function Name="RIGHT" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="count" Type="Int64" Mode="In"/>
    </Function>

    <!-- RTRIM( arg1 ) 
            str: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
            returns: varchar, nvarchar
        -->
    <Function Name="RTRIM" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- SOUNDEX( arg ) 
            arg: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
            returns: varchar   
        -->
    <Function Name="SOUNDEX" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>

    <!-- SPACE( arg ) 
            arg: tinyint, smallint, int
            returns: char   
        -->
    <Function Name="SPACE" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="arg1" Type="Int32" Mode="In"/>
    </Function>

    <!-- STR( number [,length [,decimal]] ) 
                number: float
                length: int
                decimal: int
                returns: char   
        -->
    <Function Name="STR" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="number" Type="Double" Mode="In"/>
    </Function>
    <Function Name="STR" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="number" Type="Decimal" Mode="In"/>
    </Function>
   <Function Name="STR" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="number" Type="Double" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="STR" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="number" Type="Decimal" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="STR" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="number" Type="Double" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
      <Parameter Name="decimal" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="STR" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="number" Type="Decimal" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
      <Parameter Name="decimal" Type="Int32" Mode="In"/>
   </Function>

      <!-- STUFF( strInput, start, length, strReplacement )
                strInput: varchar, nvarchar
                start: int
                legth: int
                strReplacement: varchar, nvarchar
                returns: int, bigint   
        -->
    <Function Name="STUFF" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="strInput" Type="String" Mode="In"/>
      <Parameter Name="start" Type="Int32" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
      <Parameter Name="strReplacement" Type="String" Mode="In"/>
    </Function>

    <!-- SUBSTRING( str, start, length )
                str: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
                start: tinyint, smallint, int, bigint
                length: tinyint, smallint, int, bigint
                returns: varchar, nvarchar
        -->
    <Function Name="SUBSTRING" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="start" Type="Int64" Mode="In"/>
      <Parameter Name="length" Type="Int64" Mode="In"/>
    </Function>
    <Function Name="SUBSTRING" BuiltIn="true">
      <ReturnType Type="Binary"/>
      <Parameter Name="str" Type="Binary" Mode="In"/>
      <Parameter Name="start" Type="Int64" Mode="In"/>
      <Parameter Name="length" Type="Int64" Mode="In"/>
    </Function>

    <!-- UNICODE( arg ) 
            arg: nchar, nvarchar
            returns: int   
        -->
    <Function Name="UNICODE" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>

    <!-- UPPER( arg ) 
                str: char, nchar, varchar, nvarchar, varchar(max), nvarchar(max)
                returns: varchar, nvarchar   
        -->
    <Function Name="UPPER" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- END STRING FUNCTIONS ####################################### -->

    <!-- BEGIN MATH FUNCTIONS ####################################### -->
    <!-- ABS( arg )
                arg: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
                returns: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
        -->
    <Function Name="ABS" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="ABS" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Int64" Mode="In"/>
    </Function>
    <Function Name="ABS" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="ABS" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>

      <!-- ACOS( arg )
                arg: float
                returns: float   
        -->
    <Function Name="ACOS" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg1" Type="Double" Mode="In"/>
    </Function>
    <Function Name="ACOS" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg1" Type="Decimal" Mode="In"/>
    </Function>

      <!-- ASIN( arg )
                arg: float
                returns: float   
        -->
    <Function Name="ASIN" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>
    <Function Name="ASIN" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>

      <!-- ATAN( arg )
                arg: float
                returns: float   
        -->
    <Function Name="ATAN" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>

    <Function Name="ATAN" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>

      <!-- ATN2( arg1, arg2 )
                arg1: float
                arg2: float
                returns: float   
        -->
    <Function Name="ATN2" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg1" Type="Double" Mode="In"/>
      <Parameter Name="arg2" Type="Double" Mode="In"/>
    </Function>

    <Function Name="ATN2" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg1" Type="Decimal" Mode="In"/>
      <Parameter Name="arg2" Type="Decimal" Mode="In"/>
    </Function>


      <!-- CEILING( arg )
                arg: smalldatetime, datetime
                returns: int   
        -->
    <Function Name="CEILING" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="CEILING" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Int64" Mode="In"/>
    </Function>
    <Function Name="CEILING" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="CEILING" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>

      <!-- COS( arg )
                arg: float
                returns: float   
        -->
    <Function Name="COS" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>

    <Function Name="COS" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>

      <!-- COT( arg )
                arg: float
                returns: float   
        -->
    <Function Name="COT" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>
    <Function Name="COT" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>

      <!-- DEGREES( arg )
                arg: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
                returns: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
        -->
    <Function Name="DEGREES" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="DEGREES" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg1" Type="Int64" Mode="In"/>
    </Function>
    <Function Name="DEGREES" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="arg1" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="DEGREES" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg1" Type="Double" Mode="In"/>
    </Function>
    <!-- EXP( arg )
                arg: float
                returns: float   
        -->
    <Function Name="EXP" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>

    <Function Name="EXP" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>

      <!-- FLOOR( arg )
                arg: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
                returns: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
        -->
    <Function Name="FLOOR" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="FLOOR" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Int64" Mode="In"/>
    </Function>
    <Function Name="FLOOR" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="FLOOR" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>
 
    <!-- LOG( arg )
            arg: float
            returns: float   
     -->
    <Function Name="LOG" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>
    <Function Name="LOG" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>

      <!-- LOG10( arg )
                arg: float
                returns: float   
        -->
    <Function Name="LOG10" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>
    <Function Name="LOG10" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>
    <!-- PI( )
                returns: float   
        -->
    <Function Name="PI" BuiltIn="true">
      <ReturnType Type="Double"/>
    </Function>

    <!-- POWER( x, y )
                x: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
                y: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
                returns: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
        -->
    <Function Name="POWER" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="x" Type="Int32" Mode="In"/>
      <Parameter Name="y" Type="Double" Mode="In"/>
    </Function>
    <Function Name="POWER" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="x" Type="Int64" Mode="In"/>
      <Parameter Name="y" Type="Double" Mode="In"/>
    </Function>
    <Function Name="POWER" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="x" Type="Decimal" Mode="In"/>
      <Parameter Name="y" Type="Double" Mode="In"/>
    </Function>
    <Function Name="POWER" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="x" Type="Double" Mode="In"/>
      <Parameter Name="y" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="POWER" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="x" Type="Decimal" Mode="In"/>
      <Parameter Name="y" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="POWER" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="x" Type="Double" Mode="In"/>
      <Parameter Name="y" Type="Double" Mode="In"/>
    </Function>
    <Function Name="POWER" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="x" Type="Int64" Mode="In"/>
      <Parameter Name="y" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="POWER" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="x" Type="Int32" Mode="In"/>
      <Parameter Name="y" Type="Decimal" Mode="In"/>
    </Function>
    <!-- RADIANS( arg )
                arg: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
                returns: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
        -->
    <Function Name="RADIANS" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="RADIANS" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Int64" Mode="In"/>
    </Function>
    <Function Name="RADIANS" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="RADIANS" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>

    <!-- RAND( [seed] )
                seed: tinyint, smallint, int
                returns: float
        -->
    <Function Name="RAND" BuiltIn="true">
      <ReturnType Type="Double"/>
    </Function>
    <Function Name="RAND" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="seed" Type="Int32" Mode="In"/>
    </Function>

    <!-- ROUND( numeric_expression, length [ ,function ] )
                numeric_expression: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
                length: tinyint, smallint, int
                function: tinyint, smallint, int
                returns: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
        -->
    <Function Name="ROUND" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="numeric_expression" Type="Int32" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="ROUND" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="numeric_expression" Type="Int64" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="ROUND" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="numeric_expression" Type="Decimal" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="ROUND" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="numeric_expression" Type="Double" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="ROUND" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="numeric_expression" Type="Int32" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
      <Parameter Name="function" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="ROUND" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="numeric_expression" Type="Int64" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
      <Parameter Name="function" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="ROUND" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="numeric_expression" Type="Decimal" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
      <Parameter Name="function" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="ROUND" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="numeric_expression" Type="Double" Mode="In"/>
      <Parameter Name="length" Type="Int32" Mode="In"/>
      <Parameter Name="function" Type="Int32" Mode="In"/>
    </Function>

    <!-- SIGN( arg )
            arg: tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money, real, float
            returns: bigint, numeric, decimal, money, float
        -->
    <Function Name="SIGN" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="SIGN" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="Int64" Mode="In"/>
    </Function>
    <Function Name="SIGN" BuiltIn="true">
      <ReturnType Type="Decimal"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="SIGN" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>

    <!-- SIN( arg )
                arg: float
                returns: float   
        -->
    <Function Name="SIN" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="SIN" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>

    <!-- SQRT( arg )
                arg: float
                returns: float   
        -->
    <Function Name="SQRT" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>
    <Function Name="SQRT" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>

    <!-- SQUARE( arg )
                arg: smalldatetime, datetime
                returns: int   
        -->
    <Function Name="SQUARE" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg1" Type="Double" Mode="In"/>
    </Function>
    <Function Name="SQUARE" BuiltIn="true">
          <ReturnType Type="Double"/>
          <Parameter Name="arg1" Type="Decimal" Mode="In"/>
    </Function>
    <!-- TAN( arg )
                arg: float
                returns: float   
        -->
    <Function Name="TAN" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>
    <Function Name="TAN" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>

      <!-- END MATH FUNCTIONS ######################################### -->


    <!-- BEGIN DATE FUNCTIONS ####################################### -->
    <!-- DATEADD 
                datepart: nvarchar
                number: tinyint, smallint, int, bigint, numeric, decimal, real, float
                date: smalldatetime, datetime, varchar, nvarchar, char, nchar
                returns: SMALLTIME, datetime   
        -->
    <Function Name="DATEADD" BuiltIn="true">
      <ReturnType Type="DateTime"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="number" Type="Double" Mode="In"/>
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>
    <Function Name="DATEADD" BuiltIn="true">
      <ReturnType Type="Time"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="number" Type="Double" Mode="In"/>
      <Parameter Name="time" Type="Time" Mode="In"/>
    </Function>
    <Function Name="DATEADD" BuiltIn="true">
      <ReturnType Type="DateTimeOffset"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="number" Type="Double" Mode="In"/>
      <Parameter Name="datetimeoffset" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <Function Name="DATEADD" BuiltIn="true">
      <ReturnType Type="DateTime"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="number" Type="Double" Mode="In"/>
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

      <!-- DATEDIFF( datepart, startdate, enddate )
                datepart: nvarchar
                startdate: smalldatetime, datetime, char, nchar, varchar, nvarchar
                enddate: smalldatetime, datetime, char, nchar, varchar, nvarchar
                returns: int   
        -->
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="DateTime" Mode="In"/>
      <Parameter Name="enddate" Type="DateTime" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="DateTimeOffset" Mode="In"/>
      <Parameter Name="enddate" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="Time" Mode="In"/>
      <Parameter Name="enddate" Type="Time" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="String" Mode="In"/>
      <Parameter Name="enddate" Type="DateTime" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="String" Mode="In"/>
      <Parameter Name="enddate" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="String" Mode="In"/>
      <Parameter Name="enddate" Type="Time" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="Time" Mode="In"/>
      <Parameter Name="enddate" Type="String" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="DateTime" Mode="In"/>
      <Parameter Name="enddate" Type="String" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
       <Parameter Name="datepart" Type="String" Mode="In"/>
       <Parameter Name="startdate" Type="DateTimeOffset" Mode="In"/>
       <Parameter Name="enddate" Type="String" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="String" Mode="In"/>
      <Parameter Name="enddate" Type="String" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="Time" Mode="In"/>
      <Parameter Name="enddate" Type="DateTime" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="Time" Mode="In"/>
      <Parameter Name="enddate" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="DateTime" Mode="In"/>
      <Parameter Name="enddate" Type="Time" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="DateTimeOffset" Mode="In"/>
      <Parameter Name="enddate" Type="Time" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="DateTime" Mode="In"/>
      <Parameter Name="enddate" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="startdate" Type="DateTimeOffset" Mode="In"/>
      <Parameter Name="enddate" Type="DateTime" Mode="In"/>
    </Function>


      <!-- DATENAME( datepart, date )
            datepart: nvarchar
            date: smalldatetime, datetime, char, nchar, varchar, nvarchar
            returns: nvarchar   
        -->
    <Function Name="DATENAME" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>
    <Function Name="DATENAME" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>
    <Function Name="DATENAME" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="date" Type="Time" Mode="In"/>
    </Function>
    <Function Name="DATENAME" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="date" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <!-- DATEPART( datepart, date )
                datepart: nvarchar
                date: smalldatetime, datetime, char, nchar, varchar, nvarchar
                returns: int   
        -->
    <Function Name="DATEPART" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>
    <Function Name="DATEPART" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="date" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <Function Name="DATEPART" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>
    <Function Name="DATEPART" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="datepart" Type="String" Mode="In"/>
      <Parameter Name="date" Type="Time" Mode="In"/>
    </Function>
    <!-- DAY( date )
            date: smalldatetime, datetime
            returns: int   
        -->
    <Function Name="DAY" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>
    <Function Name="DAY" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <Function Name="DAY" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>
    <!-- GETDATE()
            returns: datetime   
        -->
    <Function Name="GETDATE" BuiltIn="true">
      <ReturnType Type="DateTime"/>
    </Function>

    <!-- SYSDATETIME()
            returns: datetime   
      -->
    <Function Name="SYSDATETIME" BuiltIn="true">
      <ReturnType Type="DateTime"/>
    </Function>

    <!-- SYSUTCDATETIME()
          returns: datetime   
    -->
    <Function Name="SYSUTCDATETIME" BuiltIn="true">
      <ReturnType Type="DateTime"/>
    </Function>
      
    <!-- SYSDATETIMEOFFSET()
            returns: datetime   
    -->
    <Function Name="SYSDATETIMEOFFSET" BuiltIn="true">
      <ReturnType Type="DateTimeOffset"/>
    </Function>

    <!-- GETUTCDATE()
         returns: datetime   
    -->
    <Function Name="GETUTCDATE" BuiltIn="true">
      <ReturnType Type="DateTime"/>
    </Function>

    <!-- MONTH( date )
                date: smalldatetime, datetime
                returns: int   
        -->
    <Function Name="MONTH" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>
    <Function Name="MONTH" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <Function Name="MONTH" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- YEAR( date )
            date: smalldatetime, datetime
            returns: int   
        -->
    <Function Name="YEAR" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>
    <Function Name="YEAR" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <Function Name="YEAR" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>
    <!-- END DATE FUNCTIONS ######################################### -->

    <!-- BEGIN SYSTEM FUNCTIONS ##################################### -->
    <!-- DATALENGTH( arg ) 
                arg: any
                returns: int, bigint  
        -->
    <Function Name="DATALENGTH" BuiltIn="true" ParameterTypeSemantics="AllowImplicitPromotion">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Boolean" Mode="In"/>
    </Function>
    <Function Name="DATALENGTH" BuiltIn="true" ParameterTypeSemantics="AllowImplicitPromotion">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Double" Mode="In"/>
    </Function>
    <Function Name="DATALENGTH" BuiltIn="true" ParameterTypeSemantics="AllowImplicitPromotion">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="DATALENGTH" BuiltIn="true" ParameterTypeSemantics="AllowImplicitPromotion">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="DateTime" Mode="In"/>
    </Function>
    <Function Name="DATALENGTH" BuiltIn="true" ParameterTypeSemantics="AllowImplicitPromotion">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Time" Mode="In"/>
    </Function>
    <Function Name="DATALENGTH" BuiltIn="true" ParameterTypeSemantics="AllowImplicitPromotion">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <Function Name="DATALENGTH" BuiltIn="true" ParameterTypeSemantics="AllowImplicitPromotion">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>
    <Function Name="DATALENGTH" BuiltIn="true" ParameterTypeSemantics="AllowImplicitPromotion">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Binary" Mode="In"/>
    </Function>
    <Function Name="DATALENGTH" BuiltIn="true" ParameterTypeSemantics="AllowImplicitPromotion">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="Guid" Mode="In"/>
    </Function>

    <!-- CHECKSUM -->
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Boolean" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Double" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="String" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="DateTime" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Time" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Binary" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Guid" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Boolean" Mode="In"/>
      <Parameter Name="arg2" Type="Boolean" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Double" Mode="In"/>
      <Parameter Name="arg2" Type="Double" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Decimal" Mode="In"/>
      <Parameter Name="arg2" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="String" Mode="In"/>
      <Parameter Name="arg2" Type="String" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="DateTime" Mode="In"/>
      <Parameter Name="arg2" Type="DateTime" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Time" Mode="In"/>
      <Parameter Name="arg2" Type="Time" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="DateTimeOffset" Mode="In"/>
      <Parameter Name="arg2" Type="DateTimeOffset" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Binary" Mode="In"/>
      <Parameter Name="arg2" Type="Binary" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Guid" Mode="In"/>
      <Parameter Name="arg2" Type="Guid" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Boolean" Mode="In"/>
      <Parameter Name="arg2" Type="Boolean" Mode="In"/>
      <Parameter Name="arg3" Type="Boolean" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Double" Mode="In"/>
      <Parameter Name="arg2" Type="Double" Mode="In"/>
      <Parameter Name="arg3" Type="Double" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Decimal" Mode="In"/>
      <Parameter Name="arg2" Type="Decimal" Mode="In"/>
      <Parameter Name="arg3" Type="Decimal" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="String" Mode="In"/>
      <Parameter Name="arg2" Type="String" Mode="In"/>
      <Parameter Name="arg3" Type="String" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="DateTime" Mode="In"/>
      <Parameter Name="arg2" Type="DateTime" Mode="In"/>
      <Parameter Name="arg3" Type="DateTime" Mode="In"/>
    </Function>
      <Function Name="CHECKSUM" BuiltIn="true">
          <ReturnType Type="Int32"/>
          <Parameter Name="arg1" Type="DateTimeOffset" Mode="In"/>
          <Parameter Name="arg2" Type="DateTimeOffset" Mode="In"/>
          <Parameter Name="arg3" Type="DateTimeOffset" Mode="In"/>
      </Function>
      <Function Name="CHECKSUM" BuiltIn="true">
          <ReturnType Type="Int32"/>
          <Parameter Name="arg1" Type="Time" Mode="In"/>
          <Parameter Name="arg2" Type="Time" Mode="In"/>
          <Parameter Name="arg3" Type="Time" Mode="In"/>
      </Function>
      <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Binary" Mode="In"/>
      <Parameter Name="arg2" Type="Binary" Mode="In"/>
      <Parameter Name="arg3" Type="Binary" Mode="In"/>
    </Function>
    <Function Name="CHECKSUM" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg1" Type="Guid" Mode="In"/>
      <Parameter Name="arg2" Type="Guid" Mode="In"/>
      <Parameter Name="arg3" Type="Guid" Mode="In"/>
    </Function>

    <!-- NEWID() -->
    <Function Name="NEWID" BuiltIn="true">
      <ReturnType Type="Guid"/>
    </Function>

    <!-- CURRENT_TIMESTAMP -->
    <Function Name="CURRENT_TIMESTAMP" BuiltIn="true" NiladicFunction="true">
      <ReturnType Type="DateTime"/>
    </Function>

    <!-- CURRENT_USER -->
    <Function Name="CURRENT_USER" BuiltIn="true" NiladicFunction="true">
      <ReturnType Type="String"/>
    </Function>

    <!-- HOST_NAME() -->
    <Function Name="HOST_NAME" BuiltIn="true">
      <ReturnType Type="String"/>
    </Function>

    <!-- USER_NAME() -->
    <Function Name="USER_NAME" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="arg" Type="Int32" Mode="In"/>
    </Function>
    <Function Name="USER_NAME" BuiltIn="true">
      <ReturnType Type="String"/>
    </Function>

    <!-- ISNUMERIC( arg ) //implicit conversion -->
    <Function Name="ISNUMERIC" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>

    <!-- ISDATE( arg ) //implicit conversion -->
    <Function Name="ISDATE" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>

    <!-- Spatial Functions -->
    <!-- Geography ‘Static’ Functions -->
    <Function Name="POINTGEOGRAPHY" BuiltIn="true">
      <ReturnType Type="Geography"/>
      <Parameter Name="latitude" Type="Double" Mode="In"/>
      <Parameter Name="longitude" Type="Double" Mode="In"/>
      <Parameter Name="spatialReferenceId" Type="Int32" Mode="In"/>
    </Function>
    
    <!-- Geography ‘Instance’ Functions -->
    <Function Name="ASTEXTZM" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="geographyValue" Type="Geography" Mode="In"/>
    </Function>
    <Function Name="BUFFERWITHTOLERANCE" BuiltIn="true">
      <ReturnType Type="Geography"/>
      <Parameter Name="geographyValue" Type="Geography" Mode="In"/>
      <Parameter Name="distance" Type="Double" Mode="In"/>
      <Parameter Name="tolerance" Type="Double" Mode="In"/>
      <Parameter Name="relative" Type="Boolean" Mode="In"/>
    </Function>
    <Function Name="ENVELOPEANGLE" BuiltIn="true">
      <ReturnType Type="Double"/>
      <Parameter Name="geographyValue" Type="Geography" Mode="In"/>
    </Function>
    <Function Name="ENVELOPECENTER" BuiltIn="true">
      <ReturnType Type="Geography"/>
      <Parameter Name="geographyValue" Type="Geography" Mode="In"/>
    </Function>
    <Function Name="FILTER" BuiltIn="true">
      <ReturnType Type="Boolean"/>
      <Parameter Name="geographyValue" Type="Geography" Mode="In"/>
      <Parameter Name="geographyOther" Type="Geography" Mode="In"/>
    </Function>
    <Function Name="INSTANCEOF" BuiltIn="true">
      <ReturnType Type="Boolean"/>
      <Parameter Name="geographyValue" Type="Geography" Mode="In"/>
      <Parameter Name="geometryTypeName" Type="String" Mode="In"/>
    </Function>
    <Function Name="NUMRINGS" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="geographyValue" Type="Geography" Mode="In"/>
    </Function>    
    <Function Name="REDUCE" BuiltIn="true">
      <ReturnType Type="Geography"/>
      <Parameter Name="geographyValue" Type="Geography" Mode="In"/>
      <Parameter Name="tolerance" Type="Double" Mode="In"/>
    </Function>
    <Function Name="RINGN" BuiltIn="true">
      <ReturnType Type="Geography"/>
      <Parameter Name="geographyValue" Type="Geography" Mode="In"/>
      <Parameter Name="index" Type="Int32" Mode="In"/>
    </Function>
    
    <!-- Geometry ‘Static’ Functions -->
    <Function Name="POINTGEOMETRY" BuiltIn="true">
      <ReturnType Type="Geometry"/>
      <Parameter Name="xCoordinate" Type="Double" Mode="In"/>
      <Parameter Name="yCoordinate" Type="Double" Mode="In"/>
      <Parameter Name="spatialReferenceId" Type="Int32" Mode="In"/>
    </Function>

    <!-- Geometry ‘Instance’ Functions -->
    <Function Name="ASTEXTZM" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="geometryValue" Type="Geometry" Mode="In"/>
    </Function>
    <Function Name="BUFFERWITHTOLERANCE" BuiltIn="true">
      <ReturnType Type="Geometry"/>
      <Parameter Name="geometryValue" Type="Geometry" Mode="In"/>
      <Parameter Name="distance" Type="Double" Mode="In"/>
      <Parameter Name="tolerance" Type="Double" Mode="In"/>
      <Parameter Name="relative" Type="Boolean" Mode="In"/>
    </Function>
    <Function Name="INSTANCEOF" BuiltIn="true">
      <ReturnType Type="Boolean"/>
      <Parameter Name="geometryValue" Type="Geometry" Mode="In"/>
      <Parameter Name="geometryTypeName" Type="String" Mode="In"/>
    </Function>
    <Function Name="FILTER" BuiltIn="true">
      <ReturnType Type="Boolean"/>
      <Parameter Name="geometryValue" Type="Geometry" Mode="In"/>
      <Parameter Name="geometryOther" Type="Geometry" Mode="In"/>
    </Function>
    <Function Name="MAKEVALID" BuiltIn="true">
      <ReturnType Type="Geometry"/>
      <Parameter Name="geometryValue" Type="Geometry" Mode="In"/>
    </Function>
    <Function Name="REDUCE" BuiltIn="true">
      <ReturnType Type="Geometry"/>
      <Parameter Name="geometryValue" Type="Geometry" Mode="In"/>
      <Parameter Name="tolerance" Type="Double" Mode="In"/>
    </Function>
    
    <!-- END SYSTEM FUNCTIONS ####################################### -->
  </Functions>
</ProviderManifest>
5[<?xml version="1.0" encoding="utf-8"?>
<Mapping Space="C-S" xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS">
  <EntityContainerMapping StorageEntityContainer="Schema" CdmEntityContainer="SchemaInformation">

    <EntitySetMapping Name="Tables" StoreEntitySet="STables" TypeName="Store.Table">
      <ScalarProperty Name="Id" ColumnName="Id" />
      <ScalarProperty Name="CatalogName" ColumnName="CatalogName" />
      <ScalarProperty Name="SchemaName" ColumnName="SchemaName" />
      <ScalarProperty Name="Name" ColumnName="Name" />
    </EntitySetMapping>

    <EntitySetMapping Name="TableColumns" StoreEntitySet="STableColumns" TypeName="Store.Column">
      <ScalarProperty Name="Id" ColumnName="Id" />
      <ScalarProperty Name="Name" ColumnName="Name" />
      <ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <ScalarProperty Name="IsNullable" ColumnName="IsNullable" />
      <ComplexProperty Name="ColumnType">
        <ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <ScalarProperty Name="Precision" ColumnName="Precision" />
        <ScalarProperty Name="Scale" ColumnName="Scale" />
        <ComplexProperty Name="Collation">
          <ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <ScalarProperty Name="Name" ColumnName="CollationName" />
        </ComplexProperty>
        <ComplexProperty Name="CharacterSet">
          <ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </ComplexProperty>
        <ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </ComplexProperty>
      <ScalarProperty Name="IsIdentity" ColumnName="IsIdentity" />
      <ScalarProperty Name="IsStoreGenerated" ColumnName="IsStoreGenerated" />
      <ScalarProperty Name="Default" ColumnName="Default" />
    </EntitySetMapping>

    <EntitySetMapping Name="Views" StoreEntitySet="SViews" TypeName="Store.View">
      <ScalarProperty Name="Id" ColumnName="Id" />
      <ScalarProperty Name="CatalogName" ColumnName="CatalogName" />
      <ScalarProperty Name="SchemaName" ColumnName="SchemaName" />
      <ScalarProperty Name="Name" ColumnName="Name" />
      <ScalarProperty Name="ViewDefinition" ColumnName="ViewDefinition" />
      <ScalarProperty Name="IsUpdatable" ColumnName="IsUpdatable" />
    </EntitySetMapping>

    <EntitySetMapping Name="ViewColumns" StoreEntitySet="SViewColumns" TypeName="Store.Column">
      <ScalarProperty Name="Id" ColumnName="Id" />
      <ScalarProperty Name="Name" ColumnName="Name" />
      <ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <ScalarProperty Name="IsNullable" ColumnName="IsNullable" />
      <ComplexProperty Name="ColumnType">
        <ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <ScalarProperty Name="Precision" ColumnName="Precision" />
        <ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <ScalarProperty Name="Scale" ColumnName="Scale" />
        <ComplexProperty Name="Collation">
          <ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <ScalarProperty Name="Name" ColumnName="CollationName" />
        </ComplexProperty>
        <ComplexProperty Name="CharacterSet">
          <ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </ComplexProperty>
        <ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </ComplexProperty>
      <ScalarProperty Name="IsIdentity" ColumnName="IsIdentity" />
      <ScalarProperty Name="IsStoreGenerated" ColumnName="IsStoreGenerated" />
      <ScalarProperty Name="Default" ColumnName="Default" />
    </EntitySetMapping>

    <EntitySetMapping Name="Functions" >
      <EntityTypeMapping TypeName="IsTypeOf(Store.Function)">
        <MappingFragment StoreEntitySet="SFunctions">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <ScalarProperty Name="CatalogName" ColumnName="CatalogName" />
          <ScalarProperty Name="SchemaName" ColumnName="SchemaName" />
          <ScalarProperty Name="Name" ColumnName="Name" />
          <ScalarProperty Name="IsBuiltIn" ColumnName="IsBuiltIn" />
          <ScalarProperty Name="IsNiladic" ColumnName="IsNiladic" />
        </MappingFragment>
      </EntityTypeMapping>
      <EntityTypeMapping TypeName="Store.ScalarFunction">
        <MappingFragment StoreEntitySet="SFunctions">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <ScalarProperty Name="IsAggregate" ColumnName="IsAggregate" />
          <ComplexProperty Name="ReturnType">
            <ScalarProperty Name="TypeName" ColumnName="ReturnTypeName" />
            <ScalarProperty Name="MaxLength" ColumnName="ReturnMaxLength" />
            <ScalarProperty Name="Precision" ColumnName="ReturnPrecision" />
            <ScalarProperty Name="DateTimePrecision" ColumnName="ReturnDateTimePrecision" />
            <ScalarProperty Name="Scale" ColumnName="ReturnScale" />
            <ComplexProperty Name="Collation">
              <ScalarProperty Name="CatalogName" ColumnName="ReturnCollationCatalog" />
              <ScalarProperty Name="SchemaName" ColumnName="ReturnCollationSchema" />
              <ScalarProperty Name="Name" ColumnName="ReturnCollationName" />
            </ComplexProperty>
            <ComplexProperty Name="CharacterSet">
              <ScalarProperty Name="CatalogName" ColumnName="ReturnCharacterSetCatalog" />
              <ScalarProperty Name="SchemaName" ColumnName="ReturnCharacterSetSchema" />
              <ScalarProperty Name="Name" ColumnName="ReturnCharacterSetName" />
            </ComplexProperty>
            <ScalarProperty Name="IsMultiSet" ColumnName="ReturnIsMultiSet" />
          </ComplexProperty>
          <Condition ColumnName="IsTvf" Value="false"/>
        </MappingFragment>
      </EntityTypeMapping>
      <EntityTypeMapping TypeName="Store.TableValuedFunction">
        <MappingFragment StoreEntitySet="SFunctions">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <Condition ColumnName="IsTvf" Value="true"/>
        </MappingFragment>
      </EntityTypeMapping>
    </EntitySetMapping>

    <EntitySetMapping Name="FunctionParameters" TypeName="Store.Parameter" StoreEntitySet="SFunctionParameters">
      <ScalarProperty Name="Id" ColumnName="Id" />
      <ScalarProperty Name="Name" ColumnName="Name" />
      <ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <ComplexProperty Name="ParameterType">
        <ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <ScalarProperty Name="Precision" ColumnName="Precision" />
        <ScalarProperty Name="Scale" ColumnName="Scale" />
        <ComplexProperty Name="Collation">
          <ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <ScalarProperty Name="Name" ColumnName="CollationName" />
        </ComplexProperty>
        <ComplexProperty Name="CharacterSet">
          <ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </ComplexProperty>
        <ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </ComplexProperty>
      <ScalarProperty Name="Mode" ColumnName="Mode" />
      <ScalarProperty Name="Default" ColumnName="Default" />
    </EntitySetMapping>

    <EntitySetMapping Name="FunctionReturnTableColumns" StoreEntitySet="SFunctionReturnTableColumns" TypeName="Store.FunctionReturnTableColumn">
      <ScalarProperty Name="Id" ColumnName="Id" />
      <ScalarProperty Name="Name" ColumnName="Name" />
      <ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <ScalarProperty Name="IsNullable" ColumnName="IsNullable" />
      <ComplexProperty Name="ColumnType">
        <ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <ScalarProperty Name="Precision" ColumnName="Precision" />
        <ScalarProperty Name="Scale" ColumnName="Scale" />
        <ComplexProperty Name="Collation">
          <ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <ScalarProperty Name="Name" ColumnName="CollationName" />
        </ComplexProperty>
        <ComplexProperty Name="CharacterSet">
          <ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </ComplexProperty>
        <ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </ComplexProperty>
      <ScalarProperty Name="IsIdentity" ColumnName="IsIdentity" />
      <ScalarProperty Name="IsStoreGenerated" ColumnName="IsStoreGenerated" />
      <ScalarProperty Name="Default" ColumnName="Default" />
    </EntitySetMapping>

    <EntitySetMapping Name="Procedures" TypeName="Store.Procedure" StoreEntitySet="SProcedures">
      <ScalarProperty Name="Id" ColumnName="Id" />
      <ScalarProperty Name="CatalogName" ColumnName="CatalogName" />
      <ScalarProperty Name="SchemaName" ColumnName="SchemaName" />
      <ScalarProperty Name="Name" ColumnName="Name" />
    </EntitySetMapping>

    <EntitySetMapping Name="ProcedureParameters" TypeName="Store.Parameter" StoreEntitySet="SProcedureParameters">
      <ScalarProperty Name="Id" ColumnName="Id" />
      <ScalarProperty Name="Name" ColumnName="Name" />
      <ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <ComplexProperty Name="ParameterType">
        <ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <ScalarProperty Name="Precision" ColumnName="Precision" />
        <ScalarProperty Name="Scale" ColumnName="Scale" />
        <ComplexProperty Name="Collation">
          <ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <ScalarProperty Name="Name" ColumnName="CollationName" />
        </ComplexProperty>
        <ComplexProperty Name="CharacterSet">
          <ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </ComplexProperty>
        <ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </ComplexProperty>
      <ScalarProperty Name="Mode" ColumnName="Mode" />
      <ScalarProperty Name="Default" ColumnName="Default" />
    </EntitySetMapping>

    <EntitySetMapping Name="TableConstraints" >
      <EntityTypeMapping TypeName="IsTypeOf(Store.Constraint)">
        <MappingFragment StoreEntitySet="SConstraints">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <ScalarProperty Name="Name" ColumnName="Name" />
          <ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
        </MappingFragment>
      </EntityTypeMapping>
      <EntityTypeMapping TypeName="Store.UniqueConstraint">
          <MappingFragment StoreEntitySet="SConstraints">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <Condition ColumnName="ConstraintType" Value="UNIQUE"/>
        </MappingFragment>
      </EntityTypeMapping>
      <EntityTypeMapping TypeName="Store.CheckConstraint">
        <MappingFragment StoreEntitySet="SConstraints">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <Condition ColumnName="ConstraintType" Value="CHECK"/>
        </MappingFragment>
        <MappingFragment StoreEntitySet="SCheckConstraints">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <ScalarProperty Name="Expression" ColumnName="Expression" />
        </MappingFragment>
      </EntityTypeMapping>
      <EntityTypeMapping TypeName="Store.PrimaryKeyConstraint">
        <MappingFragment StoreEntitySet="SConstraints">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <Condition ColumnName="ConstraintType" Value="PRIMARY KEY"/>
        </MappingFragment>
      </EntityTypeMapping>
      <EntityTypeMapping TypeName="Store.ForeignKeyConstraint">
        <MappingFragment StoreEntitySet="SConstraints">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <Condition ColumnName="ConstraintType" Value="FOREIGN KEY"/>
        </MappingFragment>
        <MappingFragment StoreEntitySet="SForeignKeyConstraints">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <ScalarProperty Name="UpdateRule" ColumnName="UpdateRule" />
          <ScalarProperty Name="DeleteRule" ColumnName="DeleteRule" />
        </MappingFragment>
      </EntityTypeMapping>
    </EntitySetMapping>

    <EntitySetMapping Name="ViewConstraints" >
      <EntityTypeMapping TypeName="Store.UniqueConstraint" >
        <MappingFragment StoreEntitySet="SViewConstraints">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <ScalarProperty Name="Name" ColumnName="Name" />
          <ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
          <Condition ColumnName="ConstraintType" Value="UNIQUE"/>
        </MappingFragment>
      </EntityTypeMapping>
      <EntityTypeMapping TypeName="Store.CheckConstraint" >
        <MappingFragment StoreEntitySet="SViewConstraints">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <ScalarProperty Name="Name" ColumnName="Name" />
          <ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
          <ScalarProperty Name="Expression" ColumnName="Expression" />
          <Condition ColumnName="ConstraintType" Value="CHECK"/>
        </MappingFragment>
      </EntityTypeMapping>
      <EntityTypeMapping TypeName="Store.PrimaryKeyConstraint" >
        <MappingFragment StoreEntitySet="SViewConstraints">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <ScalarProperty Name="Name" ColumnName="Name" />
          <ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
          <Condition ColumnName="ConstraintType" Value="PRIMARY KEY"/>
        </MappingFragment>
      </EntityTypeMapping>
      <EntityTypeMapping TypeName="Store.ForeignKeyConstraint" >
        <MappingFragment StoreEntitySet="SViewConstraints">
          <ScalarProperty Name="Id" ColumnName="Id" />
          <ScalarProperty Name="Name" ColumnName="Name" />
          <ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
          <ScalarProperty Name="UpdateRule" ColumnName="UpdateRule" />
          <ScalarProperty Name="DeleteRule" ColumnName="DeleteRule" />
          <Condition ColumnName="ConstraintType" Value="FOREIGN KEY"/>
        </MappingFragment>
      </EntityTypeMapping>
    </EntitySetMapping>

    <EntitySetMapping Name="TableForeignKeys" StoreEntitySet="SForeignKeys" TypeName="Store.ForeignKey">
      <ScalarProperty Name="Id" ColumnName="Id" />
      <ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
    </EntitySetMapping>

    <EntitySetMapping Name="ViewForeignKeys" StoreEntitySet="SViewForeignKeys" TypeName="Store.ForeignKey">
      <ScalarProperty Name="Id" ColumnName="Id" />
      <ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
    </EntitySetMapping>
    
    <AssociationSetMapping Name="TableTableColumns" StoreEntitySet="STableColumns" TypeName="Store.TableOrViewColumn">
      <EndProperty Name="Parent">
        <ScalarProperty Name="Id" ColumnName="ParentId" />
      </EndProperty>
      <EndProperty Name="Column">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
      <!--Condition ColumnName="ParentId" IsNull="false"/-->
    </AssociationSetMapping>

    <AssociationSetMapping Name="ViewViewColumns" StoreEntitySet="SViewColumns" TypeName="Store.TableOrViewColumn">
      <EndProperty Name="Parent">
        <ScalarProperty Name="Id" ColumnName="ParentId" />
      </EndProperty>
      <EndProperty Name="Column">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="TableTableConstraints" StoreEntitySet="SConstraints" TypeName="Store.TableOrViewConstraint">
      <EndProperty Name="Parent">
        <ScalarProperty Name="Id" ColumnName="ParentId" />
      </EndProperty>
      <EndProperty Name="Constraint">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="TableConstraintColumns" StoreEntitySet="SConstraintColumns" TypeName="Store.TableOrViewConstraintColumn">
      <EndProperty Name="Constraint">
        <ScalarProperty Name="Id" ColumnName="ConstraintId" />
      </EndProperty>
      <EndProperty Name="Column">
        <ScalarProperty Name="Id" ColumnName="ColumnId" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="TableConstraintForeignKeys" StoreEntitySet="SForeignKeys" TypeName="Store.ConstraintForeignKey">
      <EndProperty Name="Constraint">
        <ScalarProperty Name="Id" ColumnName="ConstraintId" />
      </EndProperty>
      <EndProperty Name="ForeignKey">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="ToTableForeignKeyColumns" StoreEntitySet="SForeignKeys" TypeName="Store.ToForeignKeyColumn">
      <EndProperty Name="ForeignKey">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
      <EndProperty Name="Column">
        <ScalarProperty Name="Id" ColumnName="ToColumnId" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="FromTableForeignKeyColumns" StoreEntitySet="SForeignKeys" TypeName="Store.FromForeignKeyColumn">
      <EndProperty Name="ForeignKey">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
      <EndProperty Name="Column">
        <ScalarProperty Name="Id" ColumnName="FromColumnId" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="ViewViewConstraints" StoreEntitySet="SViewConstraints" TypeName="Store.TableOrViewConstraint">
      <EndProperty Name="Parent">
        <ScalarProperty Name="Id" ColumnName="ParentId" />
      </EndProperty>
      <EndProperty Name="Constraint">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="ViewConstraintColumns" StoreEntitySet="SViewConstraintColumns" TypeName="Store.TableOrViewConstraintColumn">
      <EndProperty Name="Constraint">
        <ScalarProperty Name="Id" ColumnName="ConstraintId" />
      </EndProperty>
      <EndProperty Name="Column">
        <ScalarProperty Name="Id" ColumnName="ColumnId" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="ViewConstraintForeignKeys" StoreEntitySet="SViewForeignKeys" TypeName="Store.ConstraintForeignKey">
      <EndProperty Name="Constraint">
        <ScalarProperty Name="Id" ColumnName="ConstraintId" />
      </EndProperty>
      <EndProperty Name="ForeignKey">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="ToViewForeignKeyColumns" StoreEntitySet="SViewForeignKeys" TypeName="Store.ToForeignKeyColumn">
      <EndProperty Name="ForeignKey">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
      <EndProperty Name="Column">
        <ScalarProperty Name="Id" ColumnName="ToColumnId" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="FromViewForeignKeyColumns" StoreEntitySet="SViewForeignKeys" TypeName="Store.FromForeignKeyColumn">
      <EndProperty Name="ForeignKey">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
      <EndProperty Name="Column">
        <ScalarProperty Name="Id" ColumnName="FromColumnId" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="FunctionFunctionParameters" StoreEntitySet="SFunctionParameters" TypeName="Store.RoutineParameter">
      <EndProperty Name="Routine">
        <ScalarProperty Name="Id" ColumnName="ParentId" />
      </EndProperty>
      <EndProperty Name="Parameter">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="FunctionFunctionReturnTableColumns" StoreEntitySet="SFunctionReturnTableColumns" TypeName="Store.FunctionFunctionReturnTableColumn">
      <EndProperty Name="Function">
        <ScalarProperty Name="Id" ColumnName="ParentId" />
      </EndProperty>
      <EndProperty Name="Column">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
    </AssociationSetMapping>

    <AssociationSetMapping Name="ProcedureProcedureParameters" StoreEntitySet="SProcedureParameters" TypeName="Store.RoutineParameter">
      <EndProperty Name="Routine">
        <ScalarProperty Name="Id" ColumnName="ParentId" />
      </EndProperty>
      <EndProperty Name="Parameter">
        <ScalarProperty Name="Id" ColumnName="Id" />
      </EndProperty>
    </AssociationSetMapping>

  </EntityContainerMapping>

</Mapping>�S<?xml version="1.0" encoding="utf-8"?>
<Mapping xmlns:cs="urn:schemas-microsoft-com:windows:storage:mapping:CS" Space="C-S" xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS">
  <cs:EntityContainerMapping StorageEntityContainer="Schema" CdmEntityContainer="SchemaInformation">

    <cs:EntitySetMapping Name="Tables" StoreEntitySet="STables" TypeName="Store.Table">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="CatalogName" ColumnName="CatalogName" />
      <cs:ScalarProperty Name="SchemaName" ColumnName="SchemaName" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="TableColumns" StoreEntitySet="STableColumns" TypeName="Store.Column">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
      <cs:ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <cs:ScalarProperty Name="IsNullable" ColumnName="IsNullable" />
      <cs:ComplexProperty Name="ColumnType">
        <cs:ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <cs:ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <cs:ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <cs:ScalarProperty Name="Precision" ColumnName="Precision" />
        <cs:ScalarProperty Name="Scale" ColumnName="Scale" />
        <cs:ComplexProperty Name="Collation">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CollationName" />
        </cs:ComplexProperty>
        <cs:ComplexProperty Name="CharacterSet">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </cs:ComplexProperty>
        <cs:ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </cs:ComplexProperty>
      <cs:ScalarProperty Name="IsIdentity" ColumnName="IsIdentity" />
      <cs:ScalarProperty Name="IsStoreGenerated" ColumnName="IsStoreGenerated" />
      <cs:ScalarProperty Name="Default" ColumnName="Default" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="Views" StoreEntitySet="SViews" TypeName="Store.View">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="CatalogName" ColumnName="CatalogName" />
      <cs:ScalarProperty Name="SchemaName" ColumnName="SchemaName" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
      <cs:ScalarProperty Name="ViewDefinition" ColumnName="ViewDefinition" />
      <cs:ScalarProperty Name="IsUpdatable" ColumnName="IsUpdatable" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="ViewColumns" StoreEntitySet="SViewColumns" TypeName="Store.Column">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
      <cs:ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <cs:ScalarProperty Name="IsNullable" ColumnName="IsNullable" />
      <cs:ComplexProperty Name="ColumnType">
        <cs:ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <cs:ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <cs:ScalarProperty Name="Precision" ColumnName="Precision" />
        <cs:ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <cs:ScalarProperty Name="Scale" ColumnName="Scale" />
        <cs:ComplexProperty Name="Collation">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CollationName" />
        </cs:ComplexProperty>
        <cs:ComplexProperty Name="CharacterSet">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </cs:ComplexProperty>
        <cs:ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </cs:ComplexProperty>
      <cs:ScalarProperty Name="IsIdentity" ColumnName="IsIdentity" />
      <cs:ScalarProperty Name="IsStoreGenerated" ColumnName="IsStoreGenerated" />
      <cs:ScalarProperty Name="Default" ColumnName="Default" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="Functions" TypeName="Store.ScalarFunction" StoreEntitySet="SFunctions">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="CatalogName" ColumnName="CatalogName" />
      <cs:ScalarProperty Name="SchemaName" ColumnName="SchemaName" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
      <cs:ComplexProperty Name="ReturnType">
        <cs:ScalarProperty Name="TypeName" ColumnName="ReturnTypeName" />
        <cs:ScalarProperty Name="MaxLength" ColumnName="ReturnMaxLength" />
        <cs:ScalarProperty Name="Precision" ColumnName="ReturnPrecision" />
        <cs:ScalarProperty Name="DateTimePrecision" ColumnName="ReturnDateTimePrecision" />
        <cs:ScalarProperty Name="Scale" ColumnName="ReturnScale" />
        <cs:ComplexProperty Name="Collation">
          <cs:ScalarProperty Name="CatalogName" ColumnName="ReturnCollationCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="ReturnCollationSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="ReturnCollationName" />
        </cs:ComplexProperty>
        <cs:ComplexProperty Name="CharacterSet">
          <cs:ScalarProperty Name="CatalogName" ColumnName="ReturnCharacterSetCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="ReturnCharacterSetSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="ReturnCharacterSetName" />
        </cs:ComplexProperty>
        <cs:ScalarProperty Name="IsMultiSet" ColumnName="ReturnIsMultiSet" />
      </cs:ComplexProperty>
      <cs:ScalarProperty Name="IsAggregate" ColumnName="IsAggregate" />
      <cs:ScalarProperty Name="IsBuiltIn" ColumnName="IsBuiltIn" />
      <cs:ScalarProperty Name="IsNiladic" ColumnName="IsNiladic" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="FunctionParameters" TypeName="Store.Parameter" StoreEntitySet="SFunctionParameters">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
      <cs:ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <cs:ComplexProperty Name="ParameterType">
        <cs:ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <cs:ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <cs:ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <cs:ScalarProperty Name="Precision" ColumnName="Precision" />
        <cs:ScalarProperty Name="Scale" ColumnName="Scale" />
        <cs:ComplexProperty Name="Collation">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CollationName" />
        </cs:ComplexProperty>
        <cs:ComplexProperty Name="CharacterSet">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </cs:ComplexProperty>
        <cs:ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </cs:ComplexProperty>
      <cs:ScalarProperty Name="Mode" ColumnName="Mode" />
      <cs:ScalarProperty Name="Default" ColumnName="Default" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="Procedures" TypeName="Store.Procedure" StoreEntitySet="SProcedures">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="CatalogName" ColumnName="CatalogName" />
      <cs:ScalarProperty Name="SchemaName" ColumnName="SchemaName" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="ProcedureParameters" TypeName="Store.Parameter" StoreEntitySet="SProcedureParameters">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
      <cs:ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <cs:ComplexProperty Name="ParameterType">
        <cs:ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <cs:ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <cs:ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <cs:ScalarProperty Name="Precision" ColumnName="Precision" />
        <cs:ScalarProperty Name="Scale" ColumnName="Scale" />
        <cs:ComplexProperty Name="Collation">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CollationName" />
        </cs:ComplexProperty>
        <cs:ComplexProperty Name="CharacterSet">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </cs:ComplexProperty>
        <cs:ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </cs:ComplexProperty>
      <cs:ScalarProperty Name="Mode" ColumnName="Mode" />
      <cs:ScalarProperty Name="Default" ColumnName="Default" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="TableConstraints" >
      <cs:EntityTypeMapping TypeName="IsTypeOf(Store.Constraint)">
        <cs:MappingFragment StoreEntitySet="SConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="Name" ColumnName="Name" />
          <cs:ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <cs:ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.UniqueConstraint">
          <cs:MappingFragment StoreEntitySet="SConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:Condition ColumnName="ConstraintType" Value="UNIQUE"/>
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.CheckConstraint">
        <cs:MappingFragment StoreEntitySet="SConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:Condition ColumnName="ConstraintType" Value="CHECK"/>
        </cs:MappingFragment>
        <cs:MappingFragment StoreEntitySet="SCheckConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="Expression" ColumnName="Expression" />
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.PrimaryKeyConstraint">
        <cs:MappingFragment StoreEntitySet="SConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:Condition ColumnName="ConstraintType" Value="PRIMARY KEY"/>
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.ForeignKeyConstraint">
        <cs:MappingFragment StoreEntitySet="SConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:Condition ColumnName="ConstraintType" Value="FOREIGN KEY"/>
        </cs:MappingFragment>
        <cs:MappingFragment StoreEntitySet="SForeignKeyConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="UpdateRule" ColumnName="UpdateRule" />
          <cs:ScalarProperty Name="DeleteRule" ColumnName="DeleteRule" />
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="ViewConstraints" >
      <cs:EntityTypeMapping TypeName="Store.UniqueConstraint" >
        <cs:MappingFragment StoreEntitySet="SViewConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="Name" ColumnName="Name" />
          <cs:ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <cs:ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
          <cs:Condition ColumnName="ConstraintType" Value="UNIQUE"/>
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.CheckConstraint" >
        <cs:MappingFragment StoreEntitySet="SViewConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="Name" ColumnName="Name" />
          <cs:ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <cs:ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
          <cs:ScalarProperty Name="Expression" ColumnName="Expression" />
          <cs:Condition ColumnName="ConstraintType" Value="CHECK"/>
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.PrimaryKeyConstraint" >
        <cs:MappingFragment StoreEntitySet="SViewConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="Name" ColumnName="Name" />
          <cs:ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <cs:ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
          <cs:Condition ColumnName="ConstraintType" Value="PRIMARY KEY"/>
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.ForeignKeyConstraint" >
        <cs:MappingFragment StoreEntitySet="SViewConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="Name" ColumnName="Name" />
          <cs:ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <cs:ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
          <cs:ScalarProperty Name="UpdateRule" ColumnName="UpdateRule" />
          <cs:ScalarProperty Name="DeleteRule" ColumnName="DeleteRule" />
          <cs:Condition ColumnName="ConstraintType" Value="FOREIGN KEY"/>
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="TableForeignKeys" StoreEntitySet="SForeignKeys" TypeName="Store.ForeignKey">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="ViewForeignKeys" StoreEntitySet="SViewForeignKeys" TypeName="Store.ForeignKey">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
    </cs:EntitySetMapping>
    
    <cs:AssociationSetMapping Name="TableTableColumns" StoreEntitySet="STableColumns" TypeName="Store.TableOrViewColumn">
      <cs:EndProperty Name="Parent">
        <cs:ScalarProperty Name="Id" ColumnName="ParentId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ViewViewColumns" StoreEntitySet="SViewColumns" TypeName="Store.TableOrViewColumn">
      <cs:EndProperty Name="Parent">
        <cs:ScalarProperty Name="Id" ColumnName="ParentId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="TableTableConstraints" StoreEntitySet="SConstraints" TypeName="Store.TableOrViewConstraint">
      <cs:EndProperty Name="Parent">
        <cs:ScalarProperty Name="Id" ColumnName="ParentId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Constraint">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="TableConstraintColumns" StoreEntitySet="SConstraintColumns" TypeName="Store.TableOrViewConstraintColumn">
      <cs:EndProperty Name="Constraint">
        <cs:ScalarProperty Name="Id" ColumnName="ConstraintId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="ColumnId" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="TableConstraintForeignKeys" StoreEntitySet="SForeignKeys" TypeName="Store.ConstraintForeignKey">
      <cs:EndProperty Name="Constraint">
        <cs:ScalarProperty Name="Id" ColumnName="ConstraintId" />
      </cs:EndProperty>
      <cs:EndProperty Name="ForeignKey">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ToTableForeignKeyColumns" StoreEntitySet="SForeignKeys" TypeName="Store.ToForeignKeyColumn">
      <cs:EndProperty Name="ForeignKey">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="ToColumnId" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="FromTableForeignKeyColumns" StoreEntitySet="SForeignKeys" TypeName="Store.FromForeignKeyColumn">
      <cs:EndProperty Name="ForeignKey">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="FromColumnId" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ViewViewConstraints" StoreEntitySet="SViewConstraints" TypeName="Store.TableOrViewConstraint">
      <cs:EndProperty Name="Parent">
        <cs:ScalarProperty Name="Id" ColumnName="ParentId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Constraint">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ViewConstraintColumns" StoreEntitySet="SViewConstraintColumns" TypeName="Store.TableOrViewConstraintColumn">
      <cs:EndProperty Name="Constraint">
        <cs:ScalarProperty Name="Id" ColumnName="ConstraintId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="ColumnId" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ViewConstraintForeignKeys" StoreEntitySet="SViewForeignKeys" TypeName="Store.ConstraintForeignKey">
      <cs:EndProperty Name="Constraint">
        <cs:ScalarProperty Name="Id" ColumnName="ConstraintId" />
      </cs:EndProperty>
      <cs:EndProperty Name="ForeignKey">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ToViewForeignKeyColumns" StoreEntitySet="SViewForeignKeys" TypeName="Store.ToForeignKeyColumn">
      <cs:EndProperty Name="ForeignKey">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="ToColumnId" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="FromViewForeignKeyColumns" StoreEntitySet="SViewForeignKeys" TypeName="Store.FromForeignKeyColumn">
      <cs:EndProperty Name="ForeignKey">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="FromColumnId" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="FunctionFunctionParameters" StoreEntitySet="SFunctionParameters" TypeName="Store.RoutineParameter">
      <cs:EndProperty Name="Routine">
        <cs:ScalarProperty Name="Id" ColumnName="ParentId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Parameter">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ProcedureProcedureParameters" StoreEntitySet="SProcedureParameters" TypeName="Store.RoutineParameter">
      <cs:EndProperty Name="Routine">
        <cs:ScalarProperty Name="Id" ColumnName="ParentId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Parameter">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

  </cs:EntityContainerMapping>

</Mapping>ę<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="SqlClient" Provider="System.Data.SqlClient" ProviderManifestToken="2000" Alias="Self" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
        SELECT
        quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) [Id]
        ,   TABLE_CATALOG [CatalogName]
        ,   TABLE_SCHEMA [SchemaName]
        ,   TABLE_NAME    [Name]
        FROM
        INFORMATION_SCHEMA.TABLES
        WHERE
        TABLE_TYPE = 'BASE TABLE'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SELECT
        quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) + quotename(c.COLUMN_NAME) [Id]
        ,   quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) [ParentId]
        ,   c.COLUMN_NAME   [Name]
        ,   CAST(c.ORDINAL_POSITION as integer) as [Ordinal]
        ,   CAST( CASE c.IS_NULLABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsNullable]
        ,   CASE
        WHEN c.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and c.CHARACTER_MAXIMUM_LENGTH = -1 THEN c.DATA_TYPE + '(max)'
        ELSE c.DATA_TYPE
        END as [TypeName]
        ,   c.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        ,   CAST(c.NUMERIC_PRECISION as integer)  [Precision]
        ,   CAST(c.DATETIME_PRECISION as integer) [DateTimePrecision]
        ,   CAST(c.NUMERIC_SCALE as integer)      [Scale]
        ,   c.COLLATION_CATALOG [CollationCatalog]
        ,   c.COLLATION_SCHEMA [CollationSchema]
        ,   c.COLLATION_NAME [CollationName]
        ,   c.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        ,   c.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        ,   c.CHARACTER_SET_NAME [CharacterSetName]
        ,   CAST(0 as bit) as [IsMultiSet]
        ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsIdentity' ) as bit) as [IsIdentity]
        ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsComputed' ) | CASE WHEN c.DATA_TYPE = 'timestamp' THEN 1 ELSE 0 END as bit) as [IsStoreGenerated]
        , c.COLUMN_DEFAULT as [Default]
        FROM
        INFORMATION_SCHEMA.COLUMNS c
        INNER JOIN
        INFORMATION_SCHEMA.TABLES t ON
        c.TABLE_CATALOG = t.TABLE_CATALOG AND
        c.TABLE_SCHEMA = t.TABLE_SCHEMA   AND
        c.TABLE_NAME = t.TABLE_NAME       AND
        t.TABLE_TYPE = 'BASE TABLE'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT
        quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) [Id]
        ,   TABLE_CATALOG             [CatalogName]
        ,   TABLE_SCHEMA              [SchemaName]
        ,   TABLE_NAME                [Name]
        ,   VIEW_DEFINITION           [ViewDefinition]
        ,   CAST( CASE IS_UPDATABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsUpdatable]
        FROM
        INFORMATION_SCHEMA.VIEWS
        WHERE
        NOT (TABLE_SCHEMA = 'dbo'
        AND TABLE_NAME in('syssegments', 'sysconstraints')
        AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SELECT
        quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) + quotename(c.COLUMN_NAME) [Id]
        ,   quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME)                             [ParentId]
        ,   c.COLUMN_NAME   [Name]
        ,   CAST(c.ORDINAL_POSITION as integer) as [Ordinal]
        ,   CAST( CASE c.IS_NULLABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsNullable]
        ,   CASE
        WHEN c.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        c.CHARACTER_MAXIMUM_LENGTH = -1 THEN
        c.DATA_TYPE + '(max)'
        ELSE
        c.DATA_TYPE
        END
        as [TypeName]
        ,   c.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        ,   CAST(c.NUMERIC_PRECISION as integer)  [Precision]
        ,   CAST(c.DATETIME_PRECISION as integer) [DateTimePrecision]
        ,   CAST(c.NUMERIC_SCALE as integer)      [Scale]
        ,   c.COLLATION_CATALOG [CollationCatalog]
        ,   c.COLLATION_SCHEMA [CollationSchema]
        ,   c.COLLATION_NAME [CollationName]
        ,   c.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        ,   c.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        ,   c.CHARACTER_SET_NAME [CharacterSetName]
        ,   CAST(0 as bit) as [IsMultiSet]
        ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsIdentity' ) as bit) as [IsIdentity]
        ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsComputed' ) | CASE WHEN c.DATA_TYPE = 'timestamp' THEN 1 ELSE 0 END as bit) as [IsStoreGenerated]
        ,   c.COLUMN_DEFAULT [Default]
        FROM
        INFORMATION_SCHEMA.COLUMNS c
        INNER JOIN
        INFORMATION_SCHEMA.VIEWS v ON
        c.TABLE_CATALOG = v.TABLE_CATALOG AND
        c.TABLE_SCHEMA = v.TABLE_SCHEMA AND
        c.TABLE_NAME = v.TABLE_NAME
        WHERE
        NOT (v.TABLE_SCHEMA = 'dbo'
        AND v.TABLE_NAME in('syssegments', 'sysconstraints')
        AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT
        quotename(SPECIFIC_SCHEMA) + quotename(SPECIFIC_NAME) [Id]
        , SPECIFIC_CATALOG         [CatalogName]
        , SPECIFIC_SCHEMA          [SchemaName]
        , SPECIFIC_NAME            [Name]
        ,   CASE
        WHEN DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        CHARACTER_MAXIMUM_LENGTH = -1 THEN
        DATA_TYPE + '(max)'
        ELSE
        DATA_TYPE
        END [ReturnTypeName]
        , CHARACTER_MAXIMUM_LENGTH [ReturnMaxLength]
        , CAST(NUMERIC_PRECISION as integer)  [ReturnPrecision]
        , CAST(DATETIME_PRECISION as integer) [ReturnDateTimePrecision]
        , CAST(NUMERIC_SCALE as integer)      [ReturnScale]
        , COLLATION_CATALOG        [ReturnCollationCatalog]
        , COLLATION_SCHEMA         [ReturnCollationSchema]
        , COLLATION_NAME           [ReturnCollationName]
        , CHARACTER_SET_CATALOG    [ReturnCharacterSetCatalog]
        , CHARACTER_SET_SCHEMA     [ReturnCharacterSetSchema]
        , CHARACTER_SET_NAME       [ReturnCharacterSetName]
        , CAST(0 as bit) as        [ReturnIsMultiSet]
        , CAST(0 as bit) as [IsAggregate]
        , CAST(0 as bit) as [IsBuiltIn]
        , CAST(0 as bit) as [IsNiladic]
        , CAST( (CASE WHEN DATA_TYPE = 'TABLE' THEN 1 ELSE 0 END) as bit ) as [IsTvf]
        FROM
        INFORMATION_SCHEMA.ROUTINES
        WHERE
        ROUTINE_TYPE = 'FUNCTION'
        AND NOT (
                  ROUTINE_SCHEMA = 'dbo'
                  AND ROUTINE_NAME LIKE 'dt[_]%'
                  AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8
                )

      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        quotename(f.SPECIFIC_SCHEMA) + quotename(f.SPECIFIC_NAME) + quotename(f.PARAMETER_NAME) [Id]
        , quotename(f.SPECIFIC_SCHEMA) + quotename(f.SPECIFIC_NAME) [ParentId]
        , CASE -- trim off the @ symbol
        WHEN f.PARAMETER_NAME is null THEN NULL
        ELSE SUBSTRING(f.PARAMETER_NAME, 2, LEN(f.PARAMETER_NAME) )
        END   [Name]
        , CAST(f.ORDINAL_POSITION as integer) as [Ordinal]
        , CASE
        WHEN f.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        f.CHARACTER_MAXIMUM_LENGTH = -1 THEN
        f.DATA_TYPE + '(max)'
        ELSE
        f.DATA_TYPE
        END [TypeName]
        , f.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        , CAST(f.NUMERIC_PRECISION as integer)  [Precision]
        , CAST(f.DATETIME_PRECISION as integer) [DateTimePrecision]
        , CAST(f.NUMERIC_SCALE as integer)      [Scale]
        , f.COLLATION_CATALOG [CollationCatalog]
        , f.COLLATION_SCHEMA [CollationSchema]
        , f.COLLATION_NAME [CollationName]
        , f.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        , f.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        , f.CHARACTER_SET_NAME [CharacterSetName]
        , CAST(0 as bit) as [IsMultiSet]
        , f.PARAMETER_MODE   [Mode]
        , CAST(NULL as ntext) [Default]
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.SPECIFIC_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'FUNCTION'
        WHERE
        f.IS_RESULT = 'NO'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionReturnTableColumns" EntityType="Self.FunctionReturnTableColumn">
      <DefiningQuery>
        SELECT
        quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) + quotename(c.COLUMN_NAME) [Id]
        ,   quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) [ParentId]
        ,   c.COLUMN_NAME  [Name]
        ,   CAST(c.ORDINAL_POSITION as integer) [Ordinal]
        ,   CAST( CASE c.IS_NULLABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsNullable]
        ,   CASE
        WHEN c.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and c.CHARACTER_MAXIMUM_LENGTH = -1 THEN c.DATA_TYPE + '(max)'
        ELSE c.DATA_TYPE
        END as [TypeName]
        ,   c.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        ,   CAST(c.NUMERIC_PRECISION as integer) [Precision]
        ,   CAST(c.DATETIME_PRECISION as integer)[DateTimePrecision]
        ,   CAST(c.NUMERIC_SCALE as integer) [Scale]
        ,   c.COLLATION_CATALOG [CollationCatalog]
        ,   c.COLLATION_SCHEMA [CollationSchema]
        ,   c.COLLATION_NAME [CollationName]
        ,   c.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        ,   c.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        ,   c.CHARACTER_SET_NAME [CharacterSetName]
        ,   CAST(0 as bit) as [IsMultiSet]
        ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsIdentity' ) as bit) as [IsIdentity]
        ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsComputed' ) | CASE WHEN c.DATA_TYPE = 'timestamp' THEN 1 ELSE 0 END as bit) as [IsStoreGenerated]
        , c.COLUMN_DEFAULT as [Default]
        FROM
        INFORMATION_SCHEMA.ROUTINE_COLUMNS c
        INNER JOIN
        INFORMATION_SCHEMA.ROUTINES f ON
        c.TABLE_CATALOG = f.SPECIFIC_CATALOG AND
        c.TABLE_SCHEMA = f.SPECIFIC_SCHEMA   AND
        c.TABLE_NAME = f.SPECIFIC_NAME
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT
        quotename(SPECIFIC_SCHEMA) + quotename(SPECIFIC_NAME) [Id]
        , SPECIFIC_CATALOG         [CatalogName]
        , SPECIFIC_SCHEMA          [SchemaName]
        , SPECIFIC_NAME            [Name]
        FROM
        INFORMATION_SCHEMA.ROUTINES
        WHERE
        NOT (ROUTINE_SCHEMA = 'dbo'
        AND ROUTINE_NAME LIKE 'dt[_]%'
        AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
        AND (DATA_TYPE != 'TABLE' OR DATA_TYPE is null)
        AND ROUTINE_TYPE = 'PROCEDURE'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        quotename(p.SPECIFIC_SCHEMA) + quotename(p.SPECIFIC_NAME) + quotename(p.PARAMETER_NAME) [Id]
        , quotename(p.SPECIFIC_SCHEMA) + quotename(p.SPECIFIC_NAME)                              [ParentId]
        , CASE -- trim off the @ symbol
        WHEN p.PARAMETER_NAME is null THEN NULL
        ELSE SUBSTRING(p.PARAMETER_NAME, 2, LEN(p.PARAMETER_NAME) )
        END   [Name]
        , CAST(p.ORDINAL_POSITION as integer) as [Ordinal]
        , CASE
        WHEN p.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        p.CHARACTER_MAXIMUM_LENGTH = -1 THEN
        p.DATA_TYPE + '(max)'
        ELSE
        p.DATA_TYPE
        END [TypeName]
        , p.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        , CAST(p.NUMERIC_PRECISION as integer)  [Precision]
        , CAST(p.DATETIME_PRECISION as integer) [DateTimePrecision]
        , CAST(p.NUMERIC_SCALE as integer)      [Scale]
        , p.COLLATION_CATALOG [CollationCatalog]
        , p.COLLATION_SCHEMA [CollationSchema]
        , p.COLLATION_NAME [CollationName]
        , p.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        , p.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        , p.CHARACTER_SET_NAME [CharacterSetName]
        , CAST(0 as bit) as [IsMultiSet]
        , p.PARAMETER_MODE   [Mode]
        , CAST(NULL as ntext) [Default]
        FROM
        INFORMATION_SCHEMA.PARAMETERS p
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        p.SPECIFIC_SCHEMA = r.SPECIFIC_SCHEMA AND
        p.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'PROCEDURE'
        WHERE
        p.IS_RESULT = 'NO'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT
        quotename(tc.CONSTRAINT_SCHEMA) + quotename(tc.CONSTRAINT_NAME) [Id]
        , quotename(tc.TABLE_SCHEMA) + quotename(tc.TABLE_NAME) [ParentId]
        ,   tc.CONSTRAINT_NAME [Name]
        ,   tc.CONSTRAINT_TYPE [ConstraintType]
        ,   CAST(CASE tc.IS_DEFERRABLE WHEN 'NO' THEN 0 ELSE 1 END as bit) [IsDeferrable]
        ,   CAST(CASE tc.INITIALLY_DEFERRED WHEN 'NO' THEN 0 ELSE 1 END as bit) [IsInitiallyDeferred]
        FROM
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
        WHERE tc.TABLE_NAME IS NOT NULL
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT
        quotename(cc.CONSTRAINT_SCHEMA) + quotename(cc.CONSTRAINT_NAME) [Id]
        , cc.CHECK_CLAUSE [Expression]
        FROM
        INFORMATION_SCHEMA.CHECK_CONSTRAINTS cc
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT
        quotename(CONSTRAINT_SCHEMA) + quotename(CONSTRAINT_NAME) [ConstraintId]
        ,   quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) + quotename(COLUMN_NAME) [ColumnId]
        FROM
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
		  SELECT
		  quotename(rc.CONSTRAINT_SCHEMA) + quotename(rc.CONSTRAINT_NAME) [Id]
		  , CAST(rc.UPDATE_RULE as nvarchar(11)) [UpdateRule]
		  , CAST(rc.DELETE_RULE as nvarchar(11)) [DeleteRule]
		  FROM
		  INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc
	  </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        quotename(FC.CONSTRAINT_SCHEMA) + quotename(FC.CONSTRAINT_NAME) + quotename(cast(FC.ORDINAL_POSITION as nvarchar(30))) [Id]
        ,   quotename(PC.TABLE_SCHEMA) + quotename(PC.TABLE_NAME) + quotename(PC.COLUMN_NAME) [ToColumnId]
        ,   quotename(FC.TABLE_SCHEMA) + quotename(FC.TABLE_NAME) + quotename(FC.COLUMN_NAME) [FromColumnId]
        ,   quotename(FC.CONSTRAINT_SCHEMA) + quotename(FC.CONSTRAINT_NAME) [ConstraintId]
        ,   CAST(FC.ORDINAL_POSITION as integer) as [Ordinal]
        FROM
        INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS PC /* PRIMARY KEY COLS*/
        ON       RC.UNIQUE_CONSTRAINT_SCHEMA = PC.CONSTRAINT_SCHEMA
        AND      RC.UNIQUE_CONSTRAINT_NAME    = PC.CONSTRAINT_NAME
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS FC /* FOREIGN KEY COLS*/
        ON       RC.CONSTRAINT_SCHEMA = FC.CONSTRAINT_SCHEMA
        AND      RC.CONSTRAINT_NAME    = FC.CONSTRAINT_NAME
        AND      PC.ORDINAL_POSITION = FC.ORDINAL_POSITION
      </DefiningQuery>
    </EntitySet>


    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT
        CAST(NULL as nvarchar(1))   [Id]
        , CAST(NULL as nvarchar(256)) [ParentId]
        , CAST(NULL as nvarchar(256)) [Name]
        , CAST(NULL as nvarchar(256)) [ConstraintType]
        , CAST(0 as bit) [IsDeferrable]
        , CAST(0 as bit) [IsInitiallyDeferred]
        , CAST(NULL as nvarchar(1)) [Expression]
        , CAST(NULL as nvarchar(11))  [UpdateRule]
        , CAST(NULL as nvarchar(11))  [DeleteRule]
        WHERE 1=2
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT
        CAST(NULL as nvarchar(1))     [ConstraintId]
        , CAST(NULL as nvarchar(1)) [ColumnId]
        WHERE 1=2
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        CAST(NULL as nvarchar(1))    [Id]
        ,  CAST(NULL as nvarchar(1)) [ToColumnId]
        ,  CAST(NULL as nvarchar(1)) [FromColumnId]
        ,  CAST(NULL as nvarchar(1))   [ConstraintId]
        ,  0 [Ordinal]
        WHERE 1=2
      </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="ntext" />
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256" />
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256" />
  </EntityType>

  <EntityType Name="TableColumn" >
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext"/>
    <Property Name="ParentId" Nullable="false" Type="ntext"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" 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="ntext"/>
  </EntityType>

  <EntityType Name="View">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext" />
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256" />
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="ViewDefinition" Nullable="true" Type="ntext" />
    <Property Name="IsUpdatable" Nullable="false" Type="bit" />
  </EntityType>

  <EntityType Name="ViewColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext"/>
    <Property Name="ParentId" Nullable="false" Type="ntext"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" 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="ntext"/>
  </EntityType>

  <EntityType Name="Function">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext"/>
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="ReturnTypeName" Type="nvarchar" MaxLength="256" />
    <Property Name="ReturnMaxLength" Type="int" />
    <Property Name="ReturnPrecision" Type="int" />
    <Property Name="ReturnDateTimePrecision" Type="int" />
    <Property Name="ReturnScale" Type="int" />
    <Property Name="ReturnCollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetName" Type="nvarchar" 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="ntext"/>
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
  </EntityType>

  <EntityType Name="Parameter">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext"/>
    <Property Name="ParentId" Nullable="false" Type="ntext"/>
    <Property Name="Name" Nullable="false" Type="ntext" />
    <Property Name="Ordinal" Nullable="false" Type="int"/>
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <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="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="Mode" Type="nvarchar" MaxLength="16" />
    <Property Name="Default" Type="ntext" />
  </EntityType>

  <EntityType Name="FunctionReturnTableColumn" >
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext"/>
    <Property Name="ParentId" Nullable="false" Type="ntext"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" 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="ntext"/>
  </EntityType>

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

  <EntityType Name="CheckConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="nvarchar" />
  </EntityType>

  <EntityType Name="ConstraintColumn">
    <Key>
      <PropertyRef Name="ConstraintId" />
      <PropertyRef Name="ColumnId" />
    </Key>
    <Property Name="ConstraintId" Nullable="false" Type="ntext" />
    <Property Name="ColumnId" Nullable="false" Type="ntext" />
  </EntityType>

  <EntityType Name="ForeignKeyConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext" />
    <Property Name="UpdateRule" Nullable="false" MaxLength="11" Type="nvarchar" />
    <Property Name="DeleteRule" Nullable="false" MaxLength="11" Type="nvarchar" />
  </EntityType>

  <EntityType Name="ForeignKey">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext" />
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="ConstraintId" Nullable="false" Type="ntext" />
    <Property Name="FromColumnId" Nullable="false" Type="ntext" />
    <Property Name="ToColumnId" Nullable="false" Type="ntext" />
  </EntityType>

  <EntityType Name="ViewConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext" />
    <Property Name="ParentId" Nullable="false" Type="ntext" />
    <Property Name="Name" Nullable="false" MaxLength="256" Type="nvarchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="nvarchar" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="nvarchar" />
    <Property Name="UpdateRule" Nullable="true" MaxLength="11" Type="nvarchar" />
    <Property Name="DeleteRule" Nullable="true" MaxLength="11" Type="nvarchar" />
  </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>G�<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="SqlClient" Provider="System.Data.SqlClient" ProviderManifestToken="2000" Alias="Self" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
        SELECT
        quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) [Id]
        ,   TABLE_CATALOG [CatalogName]
        ,   TABLE_SCHEMA [SchemaName]
        ,   TABLE_NAME    [Name]
        FROM
        INFORMATION_SCHEMA.TABLES
        WHERE
        TABLE_TYPE = 'BASE TABLE'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SELECT
        quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) + quotename(c.COLUMN_NAME) [Id]
        ,   quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME)                             [ParentId]
        ,   c.COLUMN_NAME   [Name]
        ,   CAST(c.ORDINAL_POSITION as integer) as [Ordinal]
        ,   CAST( CASE c.IS_NULLABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsNullable]
        ,   CASE
        WHEN c.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        c.CHARACTER_MAXIMUM_LENGTH = -1 THEN
        c.DATA_TYPE + '(max)'
        ELSE
        c.DATA_TYPE
        END
        as [TypeName]
        ,   c.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        ,   CAST(c.NUMERIC_PRECISION as integer)  [Precision]
        ,   CAST(c.DATETIME_PRECISION as integer) [DateTimePrecision]
        ,   CAST(c.NUMERIC_SCALE as integer)      [Scale]
        ,   c.COLLATION_CATALOG [CollationCatalog]
        ,   c.COLLATION_SCHEMA [CollationSchema]
        ,   c.COLLATION_NAME [CollationName]
        ,   c.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        ,   c.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        ,   c.CHARACTER_SET_NAME [CharacterSetName]
        ,   CAST(0 as bit) as [IsMultiSet]
        ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsIdentity' ) as bit) as [IsIdentity]
        ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsComputed' ) | CASE WHEN c.DATA_TYPE = 'timestamp' THEN 1 ELSE 0 END as bit) as [IsStoreGenerated]
        , c.COLUMN_DEFAULT as [Default]
        FROM
        INFORMATION_SCHEMA.COLUMNS c
        INNER JOIN
        INFORMATION_SCHEMA.TABLES t ON
        c.TABLE_CATALOG = t.TABLE_CATALOG AND
        c.TABLE_SCHEMA = t.TABLE_SCHEMA   AND
        c.TABLE_NAME = t.TABLE_NAME       AND
        t.TABLE_TYPE = 'BASE TABLE'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT
        quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) [Id]
        ,   TABLE_CATALOG             [CatalogName]
        ,   TABLE_SCHEMA              [SchemaName]
        ,   TABLE_NAME                [Name]
        ,   VIEW_DEFINITION           [ViewDefinition]
        ,   CAST( CASE IS_UPDATABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsUpdatable]
        FROM
        INFORMATION_SCHEMA.VIEWS
        WHERE
        NOT (TABLE_SCHEMA = 'dbo'
        AND TABLE_NAME in('syssegments', 'sysconstraints')
        AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SELECT
        quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) + quotename(c.COLUMN_NAME) [Id]
        ,   quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME)                             [ParentId]
        ,   c.COLUMN_NAME   [Name]
        ,   CAST(c.ORDINAL_POSITION as integer) as [Ordinal]
        ,   CAST( CASE c.IS_NULLABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsNullable]
        ,   CASE
        WHEN c.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        c.CHARACTER_MAXIMUM_LENGTH = -1 THEN
        c.DATA_TYPE + '(max)'
        ELSE
        c.DATA_TYPE
        END
        as [TypeName]
        ,   c.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        ,   CAST(c.NUMERIC_PRECISION as integer)  [Precision]
        ,   CAST(c.DATETIME_PRECISION as integer) [DateTimePrecision]
        ,   CAST(c.NUMERIC_SCALE as integer)      [Scale]
        ,   c.COLLATION_CATALOG [CollationCatalog]
        ,   c.COLLATION_SCHEMA [CollationSchema]
        ,   c.COLLATION_NAME [CollationName]
        ,   c.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        ,   c.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        ,   c.CHARACTER_SET_NAME [CharacterSetName]
        ,   CAST(0 as bit) as [IsMultiSet]
        ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsIdentity' ) as bit) as [IsIdentity]
        ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsComputed' ) | CASE WHEN c.DATA_TYPE = 'timestamp' THEN 1 ELSE 0 END as bit) as [IsStoreGenerated]
        ,   c.COLUMN_DEFAULT [Default]
        FROM
        INFORMATION_SCHEMA.COLUMNS c
        INNER JOIN
        INFORMATION_SCHEMA.VIEWS v ON
        c.TABLE_CATALOG = v.TABLE_CATALOG AND
        c.TABLE_SCHEMA = v.TABLE_SCHEMA AND
        c.TABLE_NAME = v.TABLE_NAME
        WHERE
        NOT (v.TABLE_SCHEMA = 'dbo'
        AND v.TABLE_NAME in('syssegments', 'sysconstraints')
        AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT
        quotename(SPECIFIC_SCHEMA) + quotename(SPECIFIC_NAME) [Id]
        , SPECIFIC_CATALOG         [CatalogName]
        , SPECIFIC_SCHEMA          [SchemaName]
        , SPECIFIC_NAME            [Name]
        ,   CASE
        WHEN DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        CHARACTER_MAXIMUM_LENGTH = -1 THEN
        DATA_TYPE + '(max)'
        ELSE
        DATA_TYPE
        END [ReturnTypeName]
        , CHARACTER_MAXIMUM_LENGTH [ReturnMaxLength]
        , CAST(NUMERIC_PRECISION as integer)  [ReturnPrecision]
        , CAST(DATETIME_PRECISION as integer) [ReturnDateTimePrecision]
        , CAST(NUMERIC_SCALE as integer)      [ReturnScale]
        , COLLATION_CATALOG        [ReturnCollationCatalog]
        , COLLATION_SCHEMA         [ReturnCollationSchema]
        , COLLATION_NAME           [ReturnCollationName]
        , CHARACTER_SET_CATALOG    [ReturnCharacterSetCatalog]
        , CHARACTER_SET_SCHEMA     [ReturnCharacterSetSchema]
        , CHARACTER_SET_NAME       [ReturnCharacterSetName]
        , CAST(0 as bit) as        [ReturnIsMultiSet]
        , CAST(0 as bit) as [IsAggregate]
        , CAST(0 as bit) as [IsBuiltIn]
        , CAST(0 as bit) as [IsNiladic]
        FROM
        INFORMATION_SCHEMA.ROUTINES
        WHERE
        NOT (ROUTINE_SCHEMA = 'dbo'
        AND ROUTINE_NAME LIKE 'dt[_]%'
        AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
        AND (DATA_TYPE != 'TABLE' OR DATA_TYPE is null)
        AND ROUTINE_TYPE = 'FUNCTION'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        quotename(f.SPECIFIC_SCHEMA) + quotename(f.SPECIFIC_NAME) + quotename(f.PARAMETER_NAME) [Id]
        , quotename(f.SPECIFIC_SCHEMA) + quotename(f.SPECIFIC_NAME)                              [ParentId]
        , CASE -- trim off the @ symbol
        WHEN f.PARAMETER_NAME is null THEN NULL
        ELSE SUBSTRING(f.PARAMETER_NAME, 2, LEN(f.PARAMETER_NAME) )
        END   [Name]
        , CAST(f.ORDINAL_POSITION as integer) as [Ordinal]
        , CASE
        WHEN f.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        f.CHARACTER_MAXIMUM_LENGTH = -1 THEN
        f.DATA_TYPE + '(max)'
        ELSE
        f.DATA_TYPE
        END [TypeName]
        , f.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        , CAST(f.NUMERIC_PRECISION as integer)  [Precision]
        , CAST(f.DATETIME_PRECISION as integer) [DateTimePrecision]
        , CAST(f.NUMERIC_SCALE as integer)      [Scale]
        , f.COLLATION_CATALOG [CollationCatalog]
        , f.COLLATION_SCHEMA [CollationSchema]
        , f.COLLATION_NAME [CollationName]
        , f.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        , f.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        , f.CHARACTER_SET_NAME [CharacterSetName]
        , CAST(0 as bit) as [IsMultiSet]
        , f.PARAMETER_MODE   [Mode]
        , CAST(NULL as ntext) [Default]
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.SPECIFIC_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'FUNCTION'
        WHERE
        f.IS_RESULT = 'NO'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT
        quotename(SPECIFIC_SCHEMA) + quotename(SPECIFIC_NAME) [Id]
        , SPECIFIC_CATALOG         [CatalogName]
        , SPECIFIC_SCHEMA          [SchemaName]
        , SPECIFIC_NAME            [Name]
        FROM
        INFORMATION_SCHEMA.ROUTINES
        WHERE
        NOT (ROUTINE_SCHEMA = 'dbo'
        AND ROUTINE_NAME LIKE 'dt[_]%'
        AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
        AND (DATA_TYPE != 'TABLE' OR DATA_TYPE is null)
        AND ROUTINE_TYPE = 'PROCEDURE'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        quotename(p.SPECIFIC_SCHEMA) + quotename(p.SPECIFIC_NAME) + quotename(p.PARAMETER_NAME) [Id]
        , quotename(p.SPECIFIC_SCHEMA) + quotename(p.SPECIFIC_NAME)                              [ParentId]
        , CASE -- trim off the @ symbol
        WHEN p.PARAMETER_NAME is null THEN NULL
        ELSE SUBSTRING(p.PARAMETER_NAME, 2, LEN(p.PARAMETER_NAME) )
        END   [Name]
        , CAST(p.ORDINAL_POSITION as integer) as [Ordinal]
        , CASE
        WHEN p.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        p.CHARACTER_MAXIMUM_LENGTH = -1 THEN
        p.DATA_TYPE + '(max)'
        ELSE
        p.DATA_TYPE
        END [TypeName]
        , p.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        , CAST(p.NUMERIC_PRECISION as integer)  [Precision]
        , CAST(p.DATETIME_PRECISION as integer) [DateTimePrecision]
        , CAST(p.NUMERIC_SCALE as integer)      [Scale]
        , p.COLLATION_CATALOG [CollationCatalog]
        , p.COLLATION_SCHEMA [CollationSchema]
        , p.COLLATION_NAME [CollationName]
        , p.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        , p.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        , p.CHARACTER_SET_NAME [CharacterSetName]
        , CAST(0 as bit) as [IsMultiSet]
        , p.PARAMETER_MODE   [Mode]
        , CAST(NULL as ntext) [Default]
        FROM
        INFORMATION_SCHEMA.PARAMETERS p
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        p.SPECIFIC_SCHEMA = r.SPECIFIC_SCHEMA AND
        p.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'PROCEDURE'
        WHERE
        p.IS_RESULT = 'NO'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT
        quotename(tc.CONSTRAINT_SCHEMA) + quotename(tc.CONSTRAINT_NAME) [Id]
        , quotename(tc.TABLE_SCHEMA) + quotename(tc.TABLE_NAME) [ParentId]
        ,   tc.CONSTRAINT_NAME [Name]
        ,   tc.CONSTRAINT_TYPE [ConstraintType]
        ,   CAST(CASE tc.IS_DEFERRABLE WHEN 'NO' THEN 0 ELSE 1 END as bit) [IsDeferrable]
        ,   CAST(CASE tc.INITIALLY_DEFERRED WHEN 'NO' THEN 0 ELSE 1 END as bit) [IsInitiallyDeferred]
        FROM
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
        WHERE tc.TABLE_NAME IS NOT NULL
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT
        quotename(cc.CONSTRAINT_SCHEMA) + quotename(cc.CONSTRAINT_NAME) [Id]
        , cc.CHECK_CLAUSE [Expression]
        FROM
        INFORMATION_SCHEMA.CHECK_CONSTRAINTS cc
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT
        quotename(CONSTRAINT_SCHEMA) + quotename(CONSTRAINT_NAME) [ConstraintId]
        ,   quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) + quotename(COLUMN_NAME) [ColumnId]
        FROM
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
		  SELECT
		  quotename(rc.CONSTRAINT_SCHEMA) + quotename(rc.CONSTRAINT_NAME) [Id]
		  , CAST(rc.UPDATE_RULE as nvarchar(11)) [UpdateRule]
		  , CAST(rc.DELETE_RULE as nvarchar(11)) [DeleteRule]
		  FROM
		  INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc
	  </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        quotename(FC.CONSTRAINT_SCHEMA) + quotename(FC.CONSTRAINT_NAME) + quotename(cast(FC.ORDINAL_POSITION as nvarchar(30))) [Id]
        ,   quotename(PC.TABLE_SCHEMA) + quotename(PC.TABLE_NAME) + quotename(PC.COLUMN_NAME) [ToColumnId]
        ,   quotename(FC.TABLE_SCHEMA) + quotename(FC.TABLE_NAME) + quotename(FC.COLUMN_NAME) [FromColumnId]
        ,   quotename(FC.CONSTRAINT_SCHEMA) + quotename(FC.CONSTRAINT_NAME) [ConstraintId]
        ,   CAST(FC.ORDINAL_POSITION as integer) as [Ordinal]
        FROM
        INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS PC /* PRIMARY KEY COLS*/
        ON       RC.UNIQUE_CONSTRAINT_SCHEMA = PC.CONSTRAINT_SCHEMA
        AND      RC.UNIQUE_CONSTRAINT_NAME    = PC.CONSTRAINT_NAME
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS FC /* FOREIGN KEY COLS*/
        ON       RC.CONSTRAINT_SCHEMA = FC.CONSTRAINT_SCHEMA
        AND      RC.CONSTRAINT_NAME    = FC.CONSTRAINT_NAME
        AND      PC.ORDINAL_POSITION = FC.ORDINAL_POSITION
      </DefiningQuery>
    </EntitySet>


    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT
        CAST(NULL as nvarchar(1))   [Id]
        , CAST(NULL as nvarchar(256)) [ParentId]
        , CAST(NULL as nvarchar(256)) [Name]
        , CAST(NULL as nvarchar(256)) [ConstraintType]
        , CAST(0 as bit) [IsDeferrable]
        , CAST(0 as bit) [IsInitiallyDeferred]
        , CAST(NULL as nvarchar(1)) [Expression]
        , CAST(NULL as nvarchar(11))  [UpdateRule]
        , CAST(NULL as nvarchar(11))  [DeleteRule]
        WHERE 1=2
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT
        CAST(NULL as nvarchar(1))     [ConstraintId]
        , CAST(NULL as nvarchar(1)) [ColumnId]
        WHERE 1=2
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        CAST(NULL as nvarchar(1))    [Id]
        ,  CAST(NULL as nvarchar(1)) [ToColumnId]
        ,  CAST(NULL as nvarchar(1)) [FromColumnId]
        ,  CAST(NULL as nvarchar(1))   [ConstraintId]
        ,  0 [Ordinal]
        WHERE 1=2
      </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="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="ntext" />
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256" />
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256" />
  </EntityType>

  <EntityType Name="TableColumn" >
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext"/>
    <Property Name="ParentId" Nullable="false" Type="ntext"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" 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="ntext"/>
  </EntityType>

  <EntityType Name="View">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext" />
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256" />
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="ViewDefinition" Nullable="true" Type="ntext" />
    <Property Name="IsUpdatable" Nullable="false" Type="bit" />
  </EntityType>

  <EntityType Name="ViewColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext"/>
    <Property Name="ParentId" Nullable="false" Type="ntext"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" 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="ntext"/>
  </EntityType>

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

  <EntityType Name="Procedure">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext"/>
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
  </EntityType>

  <EntityType Name="Parameter">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext"/>
    <Property Name="ParentId" Nullable="false" Type="ntext"/>
    <Property Name="Name" Nullable="false" Type="ntext" />
    <Property Name="Ordinal" Nullable="false" Type="int"/>
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <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="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="Mode" Type="nvarchar" MaxLength="16" />
    <Property Name="Default" Type="ntext" />
  </EntityType>

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

  <EntityType Name="CheckConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="nvarchar" />
  </EntityType>

  <EntityType Name="ConstraintColumn">
    <Key>
      <PropertyRef Name="ConstraintId" />
      <PropertyRef Name="ColumnId" />
    </Key>
    <Property Name="ConstraintId" Nullable="false" Type="ntext" />
    <Property Name="ColumnId" Nullable="false" Type="ntext" />
  </EntityType>

  <EntityType Name="ForeignKeyConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext" />
    <Property Name="UpdateRule" Nullable="false" MaxLength="11" Type="nvarchar" />
    <Property Name="DeleteRule" Nullable="false" MaxLength="11" Type="nvarchar" />
  </EntityType>

  <EntityType Name="ForeignKey">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext" />
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="ConstraintId" Nullable="false" Type="ntext" />
    <Property Name="FromColumnId" Nullable="false" Type="ntext" />
    <Property Name="ToColumnId" Nullable="false" Type="ntext" />
  </EntityType>

  <EntityType Name="ViewConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="ntext" />
    <Property Name="ParentId" Nullable="false" Type="ntext" />
    <Property Name="Name" Nullable="false" MaxLength="256" Type="nvarchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="nvarchar" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="nvarchar" />
    <Property Name="UpdateRule" Nullable="true" MaxLength="11" Type="nvarchar" />
    <Property Name="DeleteRule" Nullable="true" MaxLength="11" Type="nvarchar" />
  </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="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>��<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="SqlClient" Provider="System.Data.SqlClient" ProviderManifestToken="2005" Alias="Self" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
        SELECT
        quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) [Id]
        ,   TABLE_CATALOG [CatalogName]
        ,   TABLE_SCHEMA [SchemaName]
        ,   TABLE_NAME    [Name]
        FROM
        INFORMATION_SCHEMA.TABLES
        WHERE
        TABLE_TYPE = 'BASE TABLE'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
		  SELECT
		  quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) + quotename(c.COLUMN_NAME) [Id]
		  ,   quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME)                             [ParentId]
		  ,   c.COLUMN_NAME   [Name]
		  ,   c.ORDINAL_POSITION [Ordinal]
		  ,   CAST( CASE c.IS_NULLABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsNullable]
		  ,   CASE
		  WHEN c.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
		  c.CHARACTER_MAXIMUM_LENGTH = -1 THEN
		  c.DATA_TYPE + '(max)'
		  ELSE
		  c.DATA_TYPE
		  END
		  as [TypeName]
		  ,   c.CHARACTER_MAXIMUM_LENGTH [MaxLength]
		  ,   CAST(c.NUMERIC_PRECISION as integer) [Precision]
		  ,   CAST(c.DATETIME_PRECISION as integer)[DateTimePrecision]
		  ,   CAST(c.NUMERIC_SCALE as integer) [Scale]
		  ,   c.COLLATION_CATALOG [CollationCatalog]
		  ,   c.COLLATION_SCHEMA [CollationSchema]
		  ,   c.COLLATION_NAME [CollationName]
		  ,   c.CHARACTER_SET_CATALOG [CharacterSetCatalog]
		  ,   c.CHARACTER_SET_SCHEMA [CharacterSetSchema]
		  ,   c.CHARACTER_SET_NAME [CharacterSetName]
		  ,   CAST(0 as bit) as [IsMultiSet]
		  ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsIdentity' ) as bit) as [IsIdentity]
		  ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsComputed' ) | CASE WHEN c.DATA_TYPE = 'timestamp' THEN 1 ELSE 0 END as bit) as [IsStoreGenerated]
		  , c.COLUMN_DEFAULT as [Default]
		  FROM
		  INFORMATION_SCHEMA.COLUMNS c
		  INNER JOIN
		  INFORMATION_SCHEMA.TABLES t ON
		  c.TABLE_CATALOG = t.TABLE_CATALOG AND
		  c.TABLE_SCHEMA = t.TABLE_SCHEMA   AND
		  c.TABLE_NAME = t.TABLE_NAME       AND
		  t.TABLE_TYPE = 'BASE TABLE'
  	  </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT
        quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) [Id]
        ,   TABLE_CATALOG             [CatalogName]
        ,   TABLE_SCHEMA              [SchemaName]
        ,   TABLE_NAME                [Name]
        ,   VIEW_DEFINITION           [ViewDefinition]
        ,   CAST( CASE IS_UPDATABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsUpdatable]
        FROM
        INFORMATION_SCHEMA.VIEWS
        WHERE
        NOT (TABLE_SCHEMA = 'dbo'
        AND TABLE_NAME in('syssegments', 'sysconstraints')
        AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
		  SELECT
		  quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) + quotename(c.COLUMN_NAME) [Id]
		  ,   quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME)                             [ParentId]
		  ,   c.COLUMN_NAME   [Name]
		  ,   c.ORDINAL_POSITION [Ordinal]
		  ,   CAST( CASE c.IS_NULLABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsNullable]
		  ,   CASE
		  WHEN c.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
		  c.CHARACTER_MAXIMUM_LENGTH = -1 THEN
		  c.DATA_TYPE + '(max)'
		  ELSE
		  c.DATA_TYPE
		  END
		  as [TypeName]
		  ,   c.CHARACTER_MAXIMUM_LENGTH [MaxLength]
		  ,   CAST(c.NUMERIC_PRECISION as integer) [Precision]
		  ,   CAST(c.DATETIME_PRECISION as integer) as [DateTimePrecision]
		  ,   CAST(c.NUMERIC_SCALE as integer) [Scale]
		  ,   c.COLLATION_CATALOG [CollationCatalog]
		  ,   c.COLLATION_SCHEMA [CollationSchema]
		  ,   c.COLLATION_NAME [CollationName]
		  ,   c.CHARACTER_SET_CATALOG [CharacterSetCatalog]
		  ,   c.CHARACTER_SET_SCHEMA [CharacterSetSchema]
		  ,   c.CHARACTER_SET_NAME [CharacterSetName]
		  ,   CAST(0 as bit) as [IsMultiSet]
		  ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsIdentity' ) as bit) as [IsIdentity]
		  ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsComputed' ) | CASE WHEN c.DATA_TYPE = 'timestamp' THEN 1 ELSE 0 END as bit) as [IsStoreGenerated]
		  ,   c.COLUMN_DEFAULT [Default]
		  FROM
		  INFORMATION_SCHEMA.COLUMNS c
		  INNER JOIN
		  INFORMATION_SCHEMA.VIEWS v ON
		  c.TABLE_CATALOG = v.TABLE_CATALOG AND
		  c.TABLE_SCHEMA = v.TABLE_SCHEMA AND
		  c.TABLE_NAME = v.TABLE_NAME
		  WHERE
		  NOT (v.TABLE_SCHEMA = 'dbo'
		  AND v.TABLE_NAME in('syssegments', 'sysconstraints')
		  AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
	  </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT
        quotename(SPECIFIC_SCHEMA) + quotename(SPECIFIC_NAME) [Id]
        , SPECIFIC_CATALOG         [CatalogName]
        , SPECIFIC_SCHEMA          [SchemaName]
        , SPECIFIC_NAME            [Name]
        ,   CASE
        WHEN DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        CHARACTER_MAXIMUM_LENGTH = -1 THEN
        DATA_TYPE + '(max)'
        ELSE
        DATA_TYPE
        END [ReturnTypeName]
        , CHARACTER_MAXIMUM_LENGTH            [ReturnMaxLength]
        , CAST(NUMERIC_PRECISION as integer)  [ReturnPrecision]
        , CAST(DATETIME_PRECISION as integer) [ReturnDateTimePrecision]
        , CAST(NUMERIC_SCALE as integer)      [ReturnScale]
        , COLLATION_CATALOG        [ReturnCollationCatalog]
        , COLLATION_SCHEMA         [ReturnCollationSchema]
        , COLLATION_NAME           [ReturnCollationName]
        , CHARACTER_SET_CATALOG    [ReturnCharacterSetCatalog]
        , CHARACTER_SET_SCHEMA     [ReturnCharacterSetSchema]
        , CHARACTER_SET_NAME       [ReturnCharacterSetName]
        , CAST(0 as bit) as        [ReturnIsMultiSet]
        , CAST(0 as bit) as [IsAggregate]
        , CAST(0 as bit) as [IsBuiltIn]
        , CAST(0 as bit) as [IsNiladic]
        , CAST( (CASE WHEN DATA_TYPE = 'TABLE' THEN 1 ELSE 0 END) as bit ) as [IsTvf]
        FROM
        INFORMATION_SCHEMA.ROUTINES
        WHERE
        ROUTINE_TYPE = 'FUNCTION'
        AND NOT (
                   ROUTINE_SCHEMA = 'dbo'
                   AND ROUTINE_NAME LIKE 'dt[_]%'
                   AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8
                )
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        quotename(f.SPECIFIC_SCHEMA) + quotename(f.SPECIFIC_NAME) + quotename(f.PARAMETER_NAME) [Id]
        , quotename(f.SPECIFIC_SCHEMA) + quotename(f.SPECIFIC_NAME)                              [ParentId]
        , CASE -- trim off the @ symbol
        WHEN f.PARAMETER_NAME is null THEN NULL
        ELSE SUBSTRING(f.PARAMETER_NAME, 2, LEN(f.PARAMETER_NAME) )
        END   [Name]
        , f.ORDINAL_POSITION [Ordinal]
        , CASE
        WHEN f.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        f.CHARACTER_MAXIMUM_LENGTH = -1 THEN
        f.DATA_TYPE + '(max)'
        ELSE
        f.DATA_TYPE
        END [TypeName]
        , f.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        , CAST(f.NUMERIC_PRECISION as integer) [Precision]
        , CAST(f.DATETIME_PRECISION as integer) as [DateTimePrecision]
        , CAST(f.NUMERIC_SCALE as integer) [Scale]
        , f.COLLATION_CATALOG [CollationCatalog]
        , f.COLLATION_SCHEMA [CollationSchema]
        , f.COLLATION_NAME [CollationName]
        , f.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        , f.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        , f.CHARACTER_SET_NAME [CharacterSetName]
        , CAST(0 as bit) as [IsMultiSet]
        , f.PARAMETER_MODE   [Mode]
        , CAST(NULL as nvarchar(max))  [Default]
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.SPECIFIC_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'FUNCTION'
        WHERE
        f.IS_RESULT = 'NO'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionReturnTableColumns" EntityType="Self.FunctionReturnTableColumn">
      <DefiningQuery>
        SELECT
            quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) + quotename(c.COLUMN_NAME) [Id]
        ,   quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) [ParentId]
        ,   c.COLUMN_NAME  [Name]
        ,   c.ORDINAL_POSITION [Ordinal]
        ,   CAST( CASE c.IS_NULLABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsNullable]
        ,   CASE
                 WHEN c.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and c.CHARACTER_MAXIMUM_LENGTH = -1 THEN c.DATA_TYPE + '(max)'
                 ELSE c.DATA_TYPE
            END as [TypeName]
        ,   c.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        ,   CAST(c.NUMERIC_PRECISION as integer) [Precision]
        ,   CAST(c.DATETIME_PRECISION as integer)[DateTimePrecision]
        ,   CAST(c.NUMERIC_SCALE as integer) [Scale]
        ,   c.COLLATION_CATALOG [CollationCatalog]
        ,   c.COLLATION_SCHEMA [CollationSchema]
        ,   c.COLLATION_NAME [CollationName]
        ,   c.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        ,   c.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        ,   c.CHARACTER_SET_NAME [CharacterSetName]
        ,   CAST(0 as bit) as [IsMultiSet]
        ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsIdentity' ) as bit) as [IsIdentity]
        ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsComputed' ) | CASE WHEN c.DATA_TYPE = 'timestamp' THEN 1 ELSE 0 END as bit) as [IsStoreGenerated]
        , c.COLUMN_DEFAULT as [Default]
        FROM
        INFORMATION_SCHEMA.ROUTINE_COLUMNS c
        INNER JOIN
        INFORMATION_SCHEMA.ROUTINES f ON
        c.TABLE_CATALOG = f.SPECIFIC_CATALOG AND
        c.TABLE_SCHEMA = f.SPECIFIC_SCHEMA   AND
        c.TABLE_NAME = f.SPECIFIC_NAME
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT
        quotename(SPECIFIC_SCHEMA) + quotename(SPECIFIC_NAME) [Id]
        , SPECIFIC_CATALOG         [CatalogName]
        , SPECIFIC_SCHEMA          [SchemaName]
        , SPECIFIC_NAME            [Name]
        FROM
        INFORMATION_SCHEMA.ROUTINES
        WHERE
        NOT (ROUTINE_SCHEMA = 'dbo'
        AND ROUTINE_NAME LIKE 'dt[_]%'
        AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
        AND (DATA_TYPE != 'TABLE' OR DATA_TYPE is null)
        AND ROUTINE_TYPE = 'PROCEDURE'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        quotename(p.SPECIFIC_SCHEMA) + quotename(p.SPECIFIC_NAME) + quotename(p.PARAMETER_NAME) [Id]
        , quotename(p.SPECIFIC_SCHEMA) + quotename(p.SPECIFIC_NAME)                              [ParentId]
        , CASE -- trim off the @ symbol
        WHEN p.PARAMETER_NAME is null THEN NULL
        ELSE SUBSTRING(p.PARAMETER_NAME, 2, LEN(p.PARAMETER_NAME) )
        END   [Name]
        , p.ORDINAL_POSITION [Ordinal]
        , CASE
        WHEN p.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        p.CHARACTER_MAXIMUM_LENGTH = -1 THEN
        p.DATA_TYPE + '(max)'
        ELSE
        p.DATA_TYPE
        END [TypeName]
        , p.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        , CAST(p.NUMERIC_PRECISION as integer) [Precision]
        , CAST(p.DATETIME_PRECISION as integer) as [DateTimePrecision]
        , CAST(p.NUMERIC_SCALE as integer) [Scale]
        , p.COLLATION_CATALOG [CollationCatalog]
        , p.COLLATION_SCHEMA [CollationSchema]
        , p.COLLATION_NAME [CollationName]
        , p.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        , p.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        , p.CHARACTER_SET_NAME [CharacterSetName]
        , CAST(0 as bit) as [IsMultiSet]
        , p.PARAMETER_MODE   [Mode]
        , CAST(NULL as nvarchar(max)) [Default]
        FROM
        INFORMATION_SCHEMA.PARAMETERS p
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        p.SPECIFIC_SCHEMA = r.SPECIFIC_SCHEMA AND
        p.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'PROCEDURE'
        WHERE
        p.IS_RESULT = 'NO'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT
        quotename(tc.CONSTRAINT_SCHEMA) + quotename(tc.CONSTRAINT_NAME) [Id]
        , quotename(tc.TABLE_SCHEMA) + quotename(tc.TABLE_NAME) [ParentId]
        ,   tc.CONSTRAINT_NAME [Name]
        ,   tc.CONSTRAINT_TYPE [ConstraintType]
        ,   CAST(CASE tc.IS_DEFERRABLE WHEN 'NO' THEN 0 ELSE 1 END as bit) [IsDeferrable]
        ,   CAST(CASE tc.INITIALLY_DEFERRED WHEN 'NO' THEN 0 ELSE 1 END as bit) [IsInitiallyDeferred]
        FROM
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
        WHERE tc.TABLE_NAME IS NOT NULL
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT
        quotename(cc.CONSTRAINT_SCHEMA) + quotename(cc.CONSTRAINT_NAME) [Id]
        , cc.CHECK_CLAUSE [Expression]
        FROM
        INFORMATION_SCHEMA.CHECK_CONSTRAINTS cc
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT
        quotename(CONSTRAINT_SCHEMA) + quotename(CONSTRAINT_NAME) [ConstraintId]
        ,   quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) + quotename(COLUMN_NAME) [ColumnId]
        FROM
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT
        quotename(rc.CONSTRAINT_SCHEMA) + quotename(rc.CONSTRAINT_NAME) [Id]
        , CAST(rc.UPDATE_RULE as nvarchar(11)) [UpdateRule]
        , CAST(rc.DELETE_RULE as nvarchar(11)) [DeleteRule]
        FROM
        INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc
      </DefiningQuery>
    </EntitySet>
  
    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        quotename(FC.CONSTRAINT_SCHEMA) + quotename(FC.CONSTRAINT_NAME) + quotename(cast(FC.ORDINAL_POSITION as nvarchar(30))) [Id]
        ,   quotename(PC.TABLE_SCHEMA) + quotename(PC.TABLE_NAME) + quotename(PC.COLUMN_NAME) [ToColumnId]
        ,   quotename(FC.TABLE_SCHEMA) + quotename(FC.TABLE_NAME) + quotename(FC.COLUMN_NAME) [FromColumnId]
        ,   quotename(FC.CONSTRAINT_SCHEMA) + quotename(FC.CONSTRAINT_NAME) [ConstraintId]
        ,   FC.ORDINAL_POSITION [Ordinal]
        FROM
        INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS PC /* PRIMARY KEY COLS*/
        ON       RC.UNIQUE_CONSTRAINT_SCHEMA = PC.CONSTRAINT_SCHEMA
        AND      RC.UNIQUE_CONSTRAINT_NAME    = PC.CONSTRAINT_NAME
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS FC /* FOREIGN KEY COLS*/
        ON       RC.CONSTRAINT_SCHEMA = FC.CONSTRAINT_SCHEMA
        AND      RC.CONSTRAINT_NAME    = FC.CONSTRAINT_NAME
        AND      PC.ORDINAL_POSITION = FC.ORDINAL_POSITION
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT
        CAST(NULL as nvarchar(1))   [Id]
        , CAST(NULL as nvarchar(256)) [ParentId]
        , CAST(NULL as nvarchar(256)) [Name]
        , CAST(NULL as nvarchar(256)) [ConstraintType]
        , CAST(0 as bit) [IsDeferrable]
        , CAST(0 as bit) [IsInitiallyDeferred]
        , CAST(NULL as nvarchar(max)) [Expression]
        , CAST(NULL as nvarchar(11))  [UpdateRule]
        , CAST(NULL as nvarchar(11))  [DeleteRule]
        WHERE 1=2
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT
        CAST(NULL as nvarchar(1))     [ConstraintId]
        , CAST(NULL as nvarchar(max)) [ColumnId]  
        WHERE 1=2
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        CAST(NULL as nvarchar(1))    [Id]
        ,  CAST(NULL as nvarchar(max)) [ToColumnId]
        ,  CAST(NULL as nvarchar(max)) [FromColumnId]
        ,  CAST(NULL as nvarchar(1))   [ConstraintId]
        ,  0 [Ordinal]
        WHERE 1=2
      </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="nvarchar(max)" />
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256" />
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256" />
  </EntityType>

  <EntityType Name="TableColumn" >
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="ParentId" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" 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="nvarchar(max)"/>
  </EntityType>

  <EntityType Name="View">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)" />
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256" />
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="ViewDefinition" Nullable="true" Type="nvarchar(max)" />
    <Property Name="IsUpdatable" Nullable="false" Type="bit" />
  </EntityType>

  <EntityType Name="ViewColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="ParentId" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" 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="nvarchar(max)"/>
  </EntityType>
  
  <EntityType Name="Function">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="ReturnTypeName" Type="nvarchar" MaxLength="256" />
    <Property Name="ReturnMaxLength" Type="int" />
    <Property Name="ReturnPrecision" Type="int" />
    <Property Name="ReturnDateTimePrecision" Type="int" />
    <Property Name="ReturnScale" Type="int" />
    <Property Name="ReturnCollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetName" Type="nvarchar" 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="nvarchar(max)"/>
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
  </EntityType>

  <EntityType Name="Parameter">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="ParentId" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="Name" Nullable="false" Type="nvarchar(max)" />
    <Property Name="Ordinal" Nullable="false" Type="int"/>
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <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="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="Mode" Type="nvarchar" MaxLength="16" />
    <Property Name="Default" Type="nvarchar(max)" />
  </EntityType>

  <EntityType Name="FunctionReturnTableColumn" >
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="ParentId" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" 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="nvarchar(max)"/>
  </EntityType>

  <EntityType Name="Constraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)" />
    <Property Name="ParentId" Nullable="false" Type="nvarchar(max)" />
    <Property Name="Name" Nullable="false" MaxLength="256" Type="nvarchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="nvarchar" />
  </EntityType>

  <EntityType Name="CheckConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="nvarchar" />
  </EntityType>
  
  <EntityType Name="ConstraintColumn">
    <Key>
      <PropertyRef Name="ConstraintId" />
      <PropertyRef Name="ColumnId" />
    </Key>
    <Property Name="ConstraintId" Nullable="false" Type="nvarchar(max)" />
    <Property Name="ColumnId" Nullable="false" Type="nvarchar(max)" />
  </EntityType>

  <EntityType Name="ForeignKeyConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)" />
    <Property Name="UpdateRule" Nullable="false" MaxLength="11" Type="nvarchar" />
    <Property Name="DeleteRule" Nullable="false" MaxLength="11" Type="nvarchar" />
  </EntityType>

  <EntityType Name="ForeignKey">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)" />
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="ConstraintId" Nullable="false" Type="nvarchar(max)" />
    <Property Name="FromColumnId" Nullable="false" Type="nvarchar(max)" />
    <Property Name="ToColumnId" Nullable="false" Type="nvarchar(max)" />
  </EntityType>

  <EntityType Name="ViewConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)" />
    <Property Name="ParentId" Nullable="false" Type="nvarchar(max)" />
    <Property Name="Name" Nullable="false" MaxLength="256" Type="nvarchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="nvarchar" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="nvarchar" />
    <Property Name="UpdateRule" Nullable="true" MaxLength="11" Type="nvarchar" />
    <Property Name="DeleteRule" Nullable="true" MaxLength="11" Type="nvarchar" />
  </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>Ĉ<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="SqlClient" Provider="System.Data.SqlClient" ProviderManifestToken="2005" Alias="Self" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
        SELECT
        quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) [Id]
        ,   TABLE_CATALOG [CatalogName]
        ,   TABLE_SCHEMA [SchemaName]
        ,   TABLE_NAME    [Name]
        FROM
        INFORMATION_SCHEMA.TABLES
        WHERE
        TABLE_TYPE = 'BASE TABLE'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
		  SELECT
		  quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) + quotename(c.COLUMN_NAME) [Id]
		  ,   quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME)                             [ParentId]
		  ,   c.COLUMN_NAME   [Name]
		  ,   c.ORDINAL_POSITION [Ordinal]
		  ,   CAST( CASE c.IS_NULLABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsNullable]
		  ,   CASE
		  WHEN c.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
		  c.CHARACTER_MAXIMUM_LENGTH = -1 THEN
		  c.DATA_TYPE + '(max)'
		  ELSE
		  c.DATA_TYPE
		  END
		  as [TypeName]
		  ,   c.CHARACTER_MAXIMUM_LENGTH [MaxLength]
		  ,   CAST(c.NUMERIC_PRECISION as integer) [Precision]
		  ,   CAST(c.DATETIME_PRECISION as integer)[DateTimePrecision]
		  ,   CAST(c.NUMERIC_SCALE as integer) [Scale]
		  ,   c.COLLATION_CATALOG [CollationCatalog]
		  ,   c.COLLATION_SCHEMA [CollationSchema]
		  ,   c.COLLATION_NAME [CollationName]
		  ,   c.CHARACTER_SET_CATALOG [CharacterSetCatalog]
		  ,   c.CHARACTER_SET_SCHEMA [CharacterSetSchema]
		  ,   c.CHARACTER_SET_NAME [CharacterSetName]
		  ,   CAST(0 as bit) as [IsMultiSet]
		  ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsIdentity' ) as bit) as [IsIdentity]
		  ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsComputed' ) | CASE WHEN c.DATA_TYPE = 'timestamp' THEN 1 ELSE 0 END as bit) as [IsStoreGenerated]
		  , c.COLUMN_DEFAULT as [Default]
		  FROM
		  INFORMATION_SCHEMA.COLUMNS c
		  INNER JOIN
		  INFORMATION_SCHEMA.TABLES t ON
		  c.TABLE_CATALOG = t.TABLE_CATALOG AND
		  c.TABLE_SCHEMA = t.TABLE_SCHEMA   AND
		  c.TABLE_NAME = t.TABLE_NAME       AND
		  t.TABLE_TYPE = 'BASE TABLE'
	  </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT
        quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) [Id]
        ,   TABLE_CATALOG             [CatalogName]
        ,   TABLE_SCHEMA              [SchemaName]
        ,   TABLE_NAME                [Name]
        ,   VIEW_DEFINITION           [ViewDefinition]
        ,   CAST( CASE IS_UPDATABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsUpdatable]
        FROM
        INFORMATION_SCHEMA.VIEWS
        WHERE
        NOT (TABLE_SCHEMA = 'dbo'
        AND TABLE_NAME in('syssegments', 'sysconstraints')
        AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
		  SELECT
		  quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME) + quotename(c.COLUMN_NAME) [Id]
		  ,   quotename(c.TABLE_SCHEMA) + quotename(c.TABLE_NAME)                             [ParentId]
		  ,   c.COLUMN_NAME   [Name]
		  ,   c.ORDINAL_POSITION [Ordinal]
		  ,   CAST( CASE c.IS_NULLABLE WHEN 'YES' THEN 1 WHEN 'NO' THEN 0 ELSE 0 END as bit) [IsNullable]
		  ,   CASE
		  WHEN c.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
		  c.CHARACTER_MAXIMUM_LENGTH = -1 THEN
		  c.DATA_TYPE + '(max)'
		  ELSE
		  c.DATA_TYPE
		  END
		  as [TypeName]
		  ,   c.CHARACTER_MAXIMUM_LENGTH [MaxLength]
		  ,   CAST(c.NUMERIC_PRECISION as integer) [Precision]
		  ,   CAST(c.DATETIME_PRECISION as integer) as [DateTimePrecision]
		  ,   CAST(c.NUMERIC_SCALE as integer) [Scale]
		  ,   c.COLLATION_CATALOG [CollationCatalog]
		  ,   c.COLLATION_SCHEMA [CollationSchema]
		  ,   c.COLLATION_NAME [CollationName]
		  ,   c.CHARACTER_SET_CATALOG [CharacterSetCatalog]
		  ,   c.CHARACTER_SET_SCHEMA [CharacterSetSchema]
		  ,   c.CHARACTER_SET_NAME [CharacterSetName]
		  ,   CAST(0 as bit) as [IsMultiSet]
		  ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsIdentity' ) as bit) as [IsIdentity]
		  ,   CAST(columnproperty( object_id(quotename(c.TABLE_SCHEMA) + '.' + quotename(c.TABLE_NAME)), c.COLUMN_NAME, 'IsComputed' ) | CASE WHEN c.DATA_TYPE = 'timestamp' THEN 1 ELSE 0 END as bit) as [IsStoreGenerated]
		  ,   c.COLUMN_DEFAULT [Default]
		  FROM
		  INFORMATION_SCHEMA.COLUMNS c
		  INNER JOIN
		  INFORMATION_SCHEMA.VIEWS v ON
		  c.TABLE_CATALOG = v.TABLE_CATALOG AND
		  c.TABLE_SCHEMA = v.TABLE_SCHEMA AND
		  c.TABLE_NAME = v.TABLE_NAME
		  WHERE
		  NOT (v.TABLE_SCHEMA = 'dbo'
		  AND v.TABLE_NAME in('syssegments', 'sysconstraints')
		  AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
	  </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT
        quotename(SPECIFIC_SCHEMA) + quotename(SPECIFIC_NAME) [Id]
        , SPECIFIC_CATALOG         [CatalogName]
        , SPECIFIC_SCHEMA          [SchemaName]
        , SPECIFIC_NAME            [Name]
        ,   CASE
        WHEN DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        CHARACTER_MAXIMUM_LENGTH = -1 THEN
        DATA_TYPE + '(max)'
        ELSE
        DATA_TYPE
        END [ReturnTypeName]
        , CHARACTER_MAXIMUM_LENGTH            [ReturnMaxLength]
        , CAST(NUMERIC_PRECISION as integer)  [ReturnPrecision]
        , CAST(DATETIME_PRECISION as integer) [ReturnDateTimePrecision]
        , CAST(NUMERIC_SCALE as integer)      [ReturnScale]
        , COLLATION_CATALOG        [ReturnCollationCatalog]
        , COLLATION_SCHEMA         [ReturnCollationSchema]
        , COLLATION_NAME           [ReturnCollationName]
        , CHARACTER_SET_CATALOG    [ReturnCharacterSetCatalog]
        , CHARACTER_SET_SCHEMA     [ReturnCharacterSetSchema]
        , CHARACTER_SET_NAME       [ReturnCharacterSetName]
        , CAST(0 as bit) as        [ReturnIsMultiSet]
        , CAST(0 as bit) as [IsAggregate]
        , CAST(0 as bit) as [IsBuiltIn]
        , CAST(0 as bit) as [IsNiladic]
        FROM
        INFORMATION_SCHEMA.ROUTINES
        WHERE
        NOT (ROUTINE_SCHEMA = 'dbo'
        AND ROUTINE_NAME LIKE 'dt[_]%'
        AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
        AND (DATA_TYPE != 'TABLE' OR DATA_TYPE is null)
        AND ROUTINE_TYPE = 'FUNCTION'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        quotename(f.SPECIFIC_SCHEMA) + quotename(f.SPECIFIC_NAME) + quotename(f.PARAMETER_NAME) [Id]
        , quotename(f.SPECIFIC_SCHEMA) + quotename(f.SPECIFIC_NAME)                              [ParentId]
        , CASE -- trim off the @ symbol
        WHEN f.PARAMETER_NAME is null THEN NULL
        ELSE SUBSTRING(f.PARAMETER_NAME, 2, LEN(f.PARAMETER_NAME) )
        END   [Name]
        , f.ORDINAL_POSITION [Ordinal]
        , CASE
        WHEN f.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        f.CHARACTER_MAXIMUM_LENGTH = -1 THEN
        f.DATA_TYPE + '(max)'
        ELSE
        f.DATA_TYPE
        END [TypeName]
        , f.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        , CAST(f.NUMERIC_PRECISION as integer) [Precision]
        , CAST(f.DATETIME_PRECISION as integer) as [DateTimePrecision]
        , CAST(f.NUMERIC_SCALE as integer) [Scale]
        , f.COLLATION_CATALOG [CollationCatalog]
        , f.COLLATION_SCHEMA [CollationSchema]
        , f.COLLATION_NAME [CollationName]
        , f.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        , f.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        , f.CHARACTER_SET_NAME [CharacterSetName]
        , CAST(0 as bit) as [IsMultiSet]
        , f.PARAMETER_MODE   [Mode]
        , CAST(NULL as nvarchar(max))  [Default]
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.SPECIFIC_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'FUNCTION'
        WHERE
        f.IS_RESULT = 'NO'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT
        quotename(SPECIFIC_SCHEMA) + quotename(SPECIFIC_NAME) [Id]
        , SPECIFIC_CATALOG         [CatalogName]
        , SPECIFIC_SCHEMA          [SchemaName]
        , SPECIFIC_NAME            [Name]
        FROM
        INFORMATION_SCHEMA.ROUTINES
        WHERE
        NOT (ROUTINE_SCHEMA = 'dbo'
        AND ROUTINE_NAME LIKE 'dt[_]%'
        AND SUBSTRING(CAST(SERVERPROPERTY('productversion') as varchar(20)),1,1) = 8)
        AND (DATA_TYPE != 'TABLE' OR DATA_TYPE is null)
        AND ROUTINE_TYPE = 'PROCEDURE'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        quotename(p.SPECIFIC_SCHEMA) + quotename(p.SPECIFIC_NAME) + quotename(p.PARAMETER_NAME) [Id]
        , quotename(p.SPECIFIC_SCHEMA) + quotename(p.SPECIFIC_NAME)                              [ParentId]
        , CASE -- trim off the @ symbol
        WHEN p.PARAMETER_NAME is null THEN NULL
        ELSE SUBSTRING(p.PARAMETER_NAME, 2, LEN(p.PARAMETER_NAME) )
        END   [Name]
        , p.ORDINAL_POSITION [Ordinal]
        , CASE
        WHEN p.DATA_TYPE in ('varchar', 'nvarchar', 'varbinary') and
        p.CHARACTER_MAXIMUM_LENGTH = -1 THEN
        p.DATA_TYPE + '(max)'
        ELSE
        p.DATA_TYPE
        END [TypeName]
        , p.CHARACTER_MAXIMUM_LENGTH [MaxLength]
        , CAST(p.NUMERIC_PRECISION as integer) [Precision]
        , CAST(p.DATETIME_PRECISION as integer) as [DateTimePrecision]
        , CAST(p.NUMERIC_SCALE as integer) [Scale]
        , p.COLLATION_CATALOG [CollationCatalog]
        , p.COLLATION_SCHEMA [CollationSchema]
        , p.COLLATION_NAME [CollationName]
        , p.CHARACTER_SET_CATALOG [CharacterSetCatalog]
        , p.CHARACTER_SET_SCHEMA [CharacterSetSchema]
        , p.CHARACTER_SET_NAME [CharacterSetName]
        , CAST(0 as bit) as [IsMultiSet]
        , p.PARAMETER_MODE   [Mode]
        , CAST(NULL as nvarchar(max)) [Default]
        FROM
        INFORMATION_SCHEMA.PARAMETERS p
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        p.SPECIFIC_SCHEMA = r.SPECIFIC_SCHEMA AND
        p.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'PROCEDURE'
        WHERE
        p.IS_RESULT = 'NO'
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT
        quotename(tc.CONSTRAINT_SCHEMA) + quotename(tc.CONSTRAINT_NAME) [Id]
        , quotename(tc.TABLE_SCHEMA) + quotename(tc.TABLE_NAME) [ParentId]
        ,   tc.CONSTRAINT_NAME [Name]
        ,   tc.CONSTRAINT_TYPE [ConstraintType]
        ,   CAST(CASE tc.IS_DEFERRABLE WHEN 'NO' THEN 0 ELSE 1 END as bit) [IsDeferrable]
        ,   CAST(CASE tc.INITIALLY_DEFERRED WHEN 'NO' THEN 0 ELSE 1 END as bit) [IsInitiallyDeferred]
        FROM
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
        WHERE tc.TABLE_NAME IS NOT NULL
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT
        quotename(cc.CONSTRAINT_SCHEMA) + quotename(cc.CONSTRAINT_NAME) [Id]
        , cc.CHECK_CLAUSE [Expression]
        FROM
        INFORMATION_SCHEMA.CHECK_CONSTRAINTS cc
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT
        quotename(CONSTRAINT_SCHEMA) + quotename(CONSTRAINT_NAME) [ConstraintId]
        ,   quotename(TABLE_SCHEMA) + quotename(TABLE_NAME) + quotename(COLUMN_NAME) [ColumnId]
        FROM
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT
        quotename(rc.CONSTRAINT_SCHEMA) + quotename(rc.CONSTRAINT_NAME) [Id]
        , CAST(rc.UPDATE_RULE as nvarchar(11)) [UpdateRule]
        , CAST(rc.DELETE_RULE as nvarchar(11)) [DeleteRule]
        FROM
        INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc
      </DefiningQuery>
    </EntitySet>
  
    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        quotename(FC.CONSTRAINT_SCHEMA) + quotename(FC.CONSTRAINT_NAME) + quotename(cast(FC.ORDINAL_POSITION as nvarchar(30))) [Id]
        ,   quotename(PC.TABLE_SCHEMA) + quotename(PC.TABLE_NAME) + quotename(PC.COLUMN_NAME) [ToColumnId]
        ,   quotename(FC.TABLE_SCHEMA) + quotename(FC.TABLE_NAME) + quotename(FC.COLUMN_NAME) [FromColumnId]
        ,   quotename(FC.CONSTRAINT_SCHEMA) + quotename(FC.CONSTRAINT_NAME) [ConstraintId]
        ,   FC.ORDINAL_POSITION [Ordinal]
        FROM
        INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS PC /* PRIMARY KEY COLS*/
        ON       RC.UNIQUE_CONSTRAINT_SCHEMA = PC.CONSTRAINT_SCHEMA
        AND      RC.UNIQUE_CONSTRAINT_NAME    = PC.CONSTRAINT_NAME
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS FC /* FOREIGN KEY COLS*/
        ON       RC.CONSTRAINT_SCHEMA = FC.CONSTRAINT_SCHEMA
        AND      RC.CONSTRAINT_NAME    = FC.CONSTRAINT_NAME
        AND      PC.ORDINAL_POSITION = FC.ORDINAL_POSITION
      </DefiningQuery>
    </EntitySet>


    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT
        CAST(NULL as nvarchar(1))   [Id]
        , CAST(NULL as nvarchar(256)) [ParentId]
        , CAST(NULL as nvarchar(256)) [Name]
        , CAST(NULL as nvarchar(256)) [ConstraintType]
        , CAST(0 as bit) [IsDeferrable]
        , CAST(0 as bit) [IsInitiallyDeferred]
        , CAST(NULL as nvarchar(max)) [Expression]
        , CAST(NULL as nvarchar(11))  [UpdateRule]
        , CAST(NULL as nvarchar(11))  [DeleteRule]
        WHERE 1=2
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT
        CAST(NULL as nvarchar(1))     [ConstraintId]
        , CAST(NULL as nvarchar(max)) [ColumnId]  
        WHERE 1=2
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        CAST(NULL as nvarchar(1))    [Id]
        ,  CAST(NULL as nvarchar(max)) [ToColumnId]
        ,  CAST(NULL as nvarchar(max)) [FromColumnId]
        ,  CAST(NULL as nvarchar(1))   [ConstraintId]
        ,  0 [Ordinal]
        WHERE 1=2
      </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="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="nvarchar(max)" />
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256" />
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256" />
  </EntityType>

  <EntityType Name="TableColumn" >
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="ParentId" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" 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="nvarchar(max)"/>
  </EntityType>

  <EntityType Name="View">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)" />
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256" />
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="ViewDefinition" Nullable="true" Type="nvarchar(max)" />
    <Property Name="IsUpdatable" Nullable="false" Type="bit" />
  </EntityType>

  <EntityType Name="ViewColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="ParentId" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <Property Name="MaxLength" Type="int" />
    <Property Name="Precision" Type="int" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="int" />
    <Property Name="CollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" 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="nvarchar(max)"/>
  </EntityType>
  
  <EntityType Name="Function">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
    <Property Name="ReturnTypeName" Type="nvarchar" MaxLength="256" />
    <Property Name="ReturnMaxLength" Type="int" />
    <Property Name="ReturnPrecision" Type="int" />
    <Property Name="ReturnDateTimePrecision" Type="int" />
    <Property Name="ReturnScale" Type="int" />
    <Property Name="ReturnCollationCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetName" Type="nvarchar" MaxLength="128" />
    <Property Name="ReturnIsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsAggregate" Type="bit" />
    <Property Name="IsBuiltIn" Type="bit" />
    <Property Name="IsNiladic" Type="bit" />
  </EntityType>

  <EntityType Name="Procedure">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="CatalogName" Type="nvarchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="nvarchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="nvarchar" MaxLength="256"/>
  </EntityType>

  <EntityType Name="Parameter">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="ParentId" Nullable="false" Type="nvarchar(max)"/>
    <Property Name="Name" Nullable="false" Type="nvarchar(max)" />
    <Property Name="Ordinal" Nullable="false" Type="int"/>
    <Property Name="TypeName" Nullable="false" Type="nvarchar" MaxLength="256" />
    <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="nvarchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CollationName" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="nvarchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="nvarchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="Mode" Type="nvarchar" MaxLength="16" />
    <Property Name="Default" Type="nvarchar(max)" />
  </EntityType>

  <EntityType Name="Constraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)" />
    <Property Name="ParentId" Nullable="false" Type="nvarchar(max)" />
    <Property Name="Name" Nullable="false" MaxLength="256" Type="nvarchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="nvarchar" />
  </EntityType>

  <EntityType Name="CheckConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="nvarchar" />
  </EntityType>
  
  <EntityType Name="ConstraintColumn">
    <Key>
      <PropertyRef Name="ConstraintId" />
      <PropertyRef Name="ColumnId" />
    </Key>
    <Property Name="ConstraintId" Nullable="false" Type="nvarchar(max)" />
    <Property Name="ColumnId" Nullable="false" Type="nvarchar(max)" />
  </EntityType>

  <EntityType Name="ForeignKeyConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)" />
    <Property Name="UpdateRule" Nullable="false" MaxLength="11" Type="nvarchar" />
    <Property Name="DeleteRule" Nullable="false" MaxLength="11" Type="nvarchar" />
  </EntityType>

  <EntityType Name="ForeignKey">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)" />
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="ConstraintId" Nullable="false" Type="nvarchar(max)" />
    <Property Name="FromColumnId" Nullable="false" Type="nvarchar(max)" />
    <Property Name="ToColumnId" Nullable="false" Type="nvarchar(max)" />
  </EntityType>

  <EntityType Name="ViewConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="nvarchar(max)" />
    <Property Name="ParentId" Nullable="false" Type="nvarchar(max)" />
    <Property Name="Name" Nullable="false" MaxLength="256" Type="nvarchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="nvarchar" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="nvarchar" />
    <Property Name="UpdateRule" Nullable="true" MaxLength="11" Type="nvarchar" />
    <Property Name="DeleteRule" Nullable="true" MaxLength="11" Type="nvarchar" />
  </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="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>�4<?xml version="1.0" encoding="utf-8"?>
<Schema xmlns="http://schemas.microsoft.com/ado/2006/04/edm" Namespace="Store" Alias="Self">

  <EntityContainer Name="SchemaInformation">

    <EntitySet Name="Tables" EntityType="Self.Table" />
    <EntitySet Name="TableColumns" EntityType="Self.Column" />
    <EntitySet Name="TableConstraints" EntityType="Self.Constraint" />
    <EntitySet Name="TableForeignKeys" EntityType="Self.ForeignKey" />
    
    <EntitySet Name="Views" EntityType="Self.View" />
    <EntitySet Name="ViewColumns" EntityType="Self.Column" />
    <EntitySet Name="ViewConstraints" EntityType="Self.Constraint" />
    <EntitySet Name="ViewForeignKeys" EntityType="Self.ForeignKey" />
    
    <EntitySet Name="Functions" EntityType="Self.Function" />
    <EntitySet Name="FunctionParameters" EntityType="Self.Parameter" />
    <EntitySet Name="FunctionReturnTableColumns" EntityType="Self.FunctionReturnTableColumn" />

    <EntitySet Name="Procedures" EntityType="Self.Procedure" />
    <EntitySet Name="ProcedureParameters" EntityType="Self.Parameter" />
 
    <AssociationSet Name="TableTableColumns" Association="Self.TableOrViewColumn" >
      <End Role="Parent" EntitySet="Tables"/>
      <End Role="Column" EntitySet="TableColumns"/>
    </AssociationSet>
    <AssociationSet Name="TableTableConstraints" Association="Self.TableOrViewConstraint" >
      <End Role="Parent" EntitySet="Tables"/>
      <End Role="Constraint" EntitySet="TableConstraints"/>
    </AssociationSet>
    <AssociationSet Name="TableConstraintColumns" Association="Self.TableOrViewConstraintColumn" >
      <End Role="Column" EntitySet="TableColumns"/>
      <End Role="Constraint" EntitySet="TableConstraints"/>
    </AssociationSet>
    <AssociationSet Name="TableConstraintForeignKeys" Association="Self.ConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="TableForeignKeys"/>
      <End Role="Constraint" EntitySet="TableConstraints"/>
    </AssociationSet>
    <AssociationSet Name="FromTableForeignKeyColumns" Association="Self.FromForeignKeyColumn" >
      <End Role="Column" EntitySet="TableColumns"/>
      <End Role="ForeignKey" EntitySet="TableForeignKeys"/>
    </AssociationSet>
    <AssociationSet Name="ToTableForeignKeyColumns" Association="Self.ToForeignKeyColumn" >
      <End Role="Column" EntitySet="TableColumns"/>
      <End Role="ForeignKey" EntitySet="TableForeignKeys"/>
    </AssociationSet>
    
    <AssociationSet Name="ViewViewColumns" Association="Self.TableOrViewColumn" >
      <End Role="Parent" EntitySet="Views"/>
      <End Role="Column" EntitySet="ViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="ViewViewConstraints" Association="Self.TableOrViewConstraint" >
      <End Role="Parent" EntitySet="Views"/>
      <End Role="Constraint" EntitySet="ViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="ViewConstraintColumns" Association="Self.TableOrViewConstraintColumn" >
      <End Role="Column" EntitySet="ViewColumns"/>
      <End Role="Constraint" EntitySet="ViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="ViewConstraintForeignKeys" Association="Self.ConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="ViewForeignKeys"/>
      <End Role="Constraint" EntitySet="ViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="FromViewForeignKeyColumns" Association="Self.FromForeignKeyColumn" >
      <End Role="Column" EntitySet="ViewColumns"/>
      <End Role="ForeignKey" EntitySet="ViewForeignKeys"/>
    </AssociationSet>
    <AssociationSet Name="ToViewForeignKeyColumns" Association="Self.ToForeignKeyColumn" >
      <End Role="Column" EntitySet="ViewColumns"/>
      <End Role="ForeignKey" EntitySet="ViewForeignKeys"/>
    </AssociationSet>
    
    <AssociationSet Name="FunctionFunctionParameters" Association="Self.RoutineParameter" >
      <End Role="Routine" EntitySet="Functions"/>
      <End Role="Parameter" EntitySet="FunctionParameters"/>
    </AssociationSet>
    <AssociationSet Name="FunctionFunctionReturnTableColumns" Association="Self.FunctionFunctionReturnTableColumn" >
      <End Role="Function" EntitySet="Functions"/>
      <End Role="Column" EntitySet="FunctionReturnTableColumns"/>
    </AssociationSet>

    <AssociationSet Name="ProcedureProcedureParameters" Association="Self.RoutineParameter" >
      <End Role="Routine" EntitySet="Procedures"/>
      <End Role="Parameter" EntitySet="ProcedureParameters"/>
    </AssociationSet>

  </EntityContainer>

  <ComplexType Name="TypeSpecification">
    <Property Name="TypeName" Nullable="false" Type="String"  />
    <Property Name="MaxLength" Nullable="true" Type="Int32" />
    <Property Name="Precision" Nullable="true" Type="Int32" />
    <Property Name="DateTimePrecision" Nullable="true" Type="Int32" />
    <Property Name="Scale" Nullable="true" Type="Int32" />
    <Property Name="Collation" Nullable="false" Type="Self.Collation" />
    <Property Name="CharacterSet" Nullable="false" Type="Self.CharacterSet" />
    <Property Name="IsMultiSet" Nullable="false" Type="Boolean"/>
  </ComplexType>

  <ComplexType Name="Collation">
    <Property Name="CatalogName" Nullable="true" Type="String"  />
    <Property Name="SchemaName" Nullable="true" Type="String" />
    <Property Name="Name" Nullable="true" Type="String" />
  </ComplexType>

  <ComplexType Name="CharacterSet">
    <Property Name="CatalogName" Nullable="true" Type="String"  />
    <Property Name="SchemaName" Nullable="true" Type="String" />
    <Property Name="Name" Nullable="true" Type="String" />
  </ComplexType>

  <EntityType Name="TableOrView" Abstract="true">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="String"  />
    <Property Name="Name" Nullable="false" Type="String"  />
    <Property Name="CatalogName" Type="String"  />
    <Property Name="SchemaName" Type="String"  />
    <NavigationProperty Relationship="Self.TableOrViewColumn" Name="Columns" FromRole="Parent" ToRole="Column" />
    <NavigationProperty Relationship="Self.TableOrViewConstraint" Name="Constraints" FromRole="Parent" ToRole="Constraint" />
  </EntityType>

  <EntityType Name="Table" BaseType="Self.TableOrView">
  </EntityType>

  <EntityType Name="ColumnBase" Abstract="true">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="String"  />
    <Property Name="Name" Nullable="false" Type="String" />
    <Property Name="Ordinal" Nullable="false" Type="Int32" />
    <Property Name="IsNullable" Nullable="false" Type="Boolean" />
    <Property Name="ColumnType" Nullable="false" Type="Self.TypeSpecification"/>
    <Property Name="IsIdentity" Nullable="false" Type="Boolean" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="Boolean" />
    <Property Name="Default" Type="String" />
  </EntityType>

  <EntityType Name="Column" BaseType="Self.ColumnBase">
    <NavigationProperty Relationship="Self.TableOrViewColumn" Name="Parent" FromRole="Column" ToRole="Parent" />
	  <NavigationProperty Relationship="Self.TableOrViewConstraintColumn" Name="Constraints" FromRole="Column" ToRole="Constraint" />
	  <NavigationProperty Relationship="Self.ToForeignKeyColumn" Name="ToForeignKeys" FromRole="Column" ToRole="ForeignKey" />
	  <NavigationProperty Relationship="Self.FromForeignKeyColumn" Name="FromForeignKeys" FromRole="Column" ToRole="ForeignKey" />
  </EntityType>

  <EntityType Name="FunctionReturnTableColumn" BaseType="Self.ColumnBase">
    <NavigationProperty Relationship="Self.FunctionFunctionReturnTableColumn" Name="Function" FromRole="Column" ToRole="Function" />
  </EntityType>

  <EntityType Name="View" BaseType="Self.TableOrView">
    <Property Name="IsUpdatable" Nullable="false" Type="Boolean" />
    <Property Name="ViewDefinition" Nullable="true" Type="String"  />
  </EntityType>
  
  <EntityType Name="Routine" Abstract="true">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="String"  />
    <Property Name="CatalogName" Type="String"  />
    <Property Name="SchemaName" Type="String"  />
    <Property Name="Name" Nullable="false" Type="String"  />
    <NavigationProperty Relationship="Self.RoutineParameter" Name="Parameters" FromRole="Routine" ToRole="Parameter" />
  </EntityType>
  
  <EntityType Name="Parameter">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="String"  />
    <Property Name="Name" Nullable="false" Type="String"  />
    <Property Name="Ordinal" Nullable="false" Type="Int32" />
    <Property Name="ParameterType" Nullable="false" Type="Self.TypeSpecification"/>
    <Property Name="Mode" Type="String"  />
    <Property Name="Default" Type="String"  />
    <NavigationProperty Relationship="Self.RoutineParameter" Name="Routine" FromRole="Parameter" ToRole="Routine" />
  </EntityType>

  <EntityType Name="Function" BaseType="Self.Routine" Abstract="true">
    <Property Name="IsBuiltIn" Type="Boolean" />
    <Property Name="IsNiladic" Type="Boolean" />
  </EntityType>

  <EntityType Name="ScalarFunction" BaseType="Self.Function">
    <Property Name="ReturnType" Type="Self.TypeSpecification" Nullable="false"/>
    <Property Name="IsAggregate" Type="Boolean" />
  </EntityType>

  <EntityType Name="TableValuedFunction" BaseType="Self.Function">
    <NavigationProperty Relationship="Self.FunctionFunctionReturnTableColumn" Name="Columns" FromRole="Function" ToRole="Column" />
  </EntityType>

  <EntityType Name="Procedure" BaseType="Self.Routine">
  </EntityType>

  <EntityType Name="Constraint" Abstract="true">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="String"  />
    <Property Name="Name" Nullable="false" Type="String"  />
    <Property Name="IsDeferrable" Nullable="false" Type="Boolean"  />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="Boolean"  />
    <NavigationProperty Relationship="Self.TableOrViewConstraint" Name="Parent" FromRole="Constraint" ToRole="Parent" />
  </EntityType>

  <EntityType Name="CheckConstraint" BaseType="Self.Constraint">
    <Property Name="Expression" Type="String" />
  </EntityType>
  
  <EntityType Name="TableOrViewColumnConstraint" BaseType="Self.Constraint" Abstract="true">
    <NavigationProperty Relationship="Self.TableOrViewConstraintColumn" Name="Columns" FromRole="Constraint" ToRole="Column" />
  </EntityType>

  <EntityType Name="PrimaryKeyConstraint" BaseType="Self.TableOrViewColumnConstraint">
  </EntityType>

  <EntityType Name="UniqueConstraint" BaseType="Self.TableOrViewColumnConstraint">
  </EntityType>

  <EntityType Name="ForeignKeyConstraint" BaseType="Self.Constraint">
    <Property Name="UpdateRule" Nullable="false" Type="String"  />
    <Property Name="DeleteRule" Nullable="false" Type="String"  />
    <NavigationProperty Relationship="Self.ConstraintForeignKey" Name="ForeignKeys" FromRole="Constraint" ToRole="ForeignKey" />
  </EntityType>

  <EntityType Name="ForeignKey">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="String"  />
    <Property Name="Ordinal" Nullable="false" Type="Int32" />
    <NavigationProperty Relationship="Self.ConstraintForeignKey" Name="Constraint" FromRole="ForeignKey" ToRole="Constraint" />
    <NavigationProperty Relationship="Self.FromForeignKeyColumn" Name="FromColumn" FromRole="ForeignKey" ToRole="Column" />
    <NavigationProperty Relationship="Self.ToForeignKeyColumn" Name="ToColumn" FromRole="ForeignKey" ToRole="Column" />
  </EntityType>
  
  <Association Name="TableOrViewColumn">
    <End Type="Self.TableOrView" Role="Parent" Multiplicity="1" />
    <End Type="Self.Column" Role="Column" Multiplicity="*" />
  </Association>
  
  <Association Name="TableOrViewConstraint">
    <End Type="Self.TableOrView" Role="Parent" Multiplicity="1" />
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="*" />
  </Association>

  <Association Name="TableOrViewConstraintColumn">
    <End Type="Self.TableOrViewColumnConstraint" Role="Constraint" Multiplicity="*" />
    <End Type="Self.Column" Role="Column" Multiplicity="*" />
  </Association>

  <Association Name="ConstraintForeignKey">
    <End Type="Self.ForeignKeyConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
  </Association>

  <Association Name="ToForeignKeyColumn">
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <End Type="Self.Column" Role="Column" Multiplicity="1" />
  </Association>

  <Association Name="FromForeignKeyColumn">
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <End Type="Self.Column" Role="Column" Multiplicity="1" />
  </Association>

  <Association Name="RoutineParameter">
    <End Type="Self.Routine" Role="Routine" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
  </Association>

  <Association Name="FunctionFunctionReturnTableColumn">
    <End Type="Self.TableValuedFunction" Role="Function" Multiplicity="1" />
    <End Type="Self.FunctionReturnTableColumn" Role="Column" Multiplicity="*" />
  </Association>

</Schema>�0<?xml version="1.0" encoding="utf-8"?>
<Schema xmlns="http://schemas.microsoft.com/ado/2006/04/edm" xmlns:edm="http://schemas.microsoft.com/ado/2006/04/edm" xmlns:cg="http://schemas.microsoft.com/ado/2006/04/codegeneration" Namespace="Store" Alias="Self">

  <EntityContainer Name="SchemaInformation">

    <EntitySet Name="Tables" EntityType="Self.Table" />
    <EntitySet Name="TableColumns" EntityType="Self.Column" />
    <EntitySet Name="TableConstraints" EntityType="Self.Constraint" />
    <EntitySet Name="TableForeignKeys" EntityType="Self.ForeignKey" />
    
    <EntitySet Name="Views" EntityType="Self.View" />
    <EntitySet Name="ViewColumns" EntityType="Self.Column" />
    <EntitySet Name="ViewConstraints" EntityType="Self.Constraint" />
    <EntitySet Name="ViewForeignKeys" EntityType="Self.ForeignKey" />
    
    <EntitySet Name="Functions" EntityType="Self.Function" />
    <EntitySet Name="FunctionParameters" EntityType="Self.Parameter" />
    <EntitySet Name="Procedures" EntityType="Self.Procedure" />
    <EntitySet Name="ProcedureParameters" EntityType="Self.Parameter" />
 
    <AssociationSet Name="TableTableColumns" Association="Self.TableOrViewColumn" >
      <End Role="Parent" EntitySet="Tables"/>
      <End Role="Column" EntitySet="TableColumns"/>
    </AssociationSet>
    <AssociationSet Name="TableTableConstraints" Association="Self.TableOrViewConstraint" >
      <End Role="Parent" EntitySet="Tables"/>
      <End Role="Constraint" EntitySet="TableConstraints"/>
    </AssociationSet>
    <AssociationSet Name="TableConstraintColumns" Association="Self.TableOrViewConstraintColumn" >
      <End Role="Column" EntitySet="TableColumns"/>
      <End Role="Constraint" EntitySet="TableConstraints"/>
    </AssociationSet>
    <AssociationSet Name="TableConstraintForeignKeys" Association="Self.ConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="TableForeignKeys"/>
      <End Role="Constraint" EntitySet="TableConstraints"/>
    </AssociationSet>
    <AssociationSet Name="FromTableForeignKeyColumns" Association="Self.FromForeignKeyColumn" >
      <End Role="Column" EntitySet="TableColumns"/>
      <End Role="ForeignKey" EntitySet="TableForeignKeys"/>
    </AssociationSet>
    <AssociationSet Name="ToTableForeignKeyColumns" Association="Self.ToForeignKeyColumn" >
      <End Role="Column" EntitySet="TableColumns"/>
      <End Role="ForeignKey" EntitySet="TableForeignKeys"/>
    </AssociationSet>
    
    <AssociationSet Name="ViewViewColumns" Association="Self.TableOrViewColumn" >
      <End Role="Parent" EntitySet="Views"/>
      <End Role="Column" EntitySet="ViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="ViewViewConstraints" Association="Self.TableOrViewConstraint" >
      <End Role="Parent" EntitySet="Views"/>
      <End Role="Constraint" EntitySet="ViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="ViewConstraintColumns" Association="Self.TableOrViewConstraintColumn" >
      <End Role="Column" EntitySet="ViewColumns"/>
      <End Role="Constraint" EntitySet="ViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="ViewConstraintForeignKeys" Association="Self.ConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="ViewForeignKeys"/>
      <End Role="Constraint" EntitySet="ViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="FromViewForeignKeyColumns" Association="Self.FromForeignKeyColumn" >
      <End Role="Column" EntitySet="ViewColumns"/>
      <End Role="ForeignKey" EntitySet="ViewForeignKeys"/>
    </AssociationSet>
    <AssociationSet Name="ToViewForeignKeyColumns" Association="Self.ToForeignKeyColumn" >
      <End Role="Column" EntitySet="ViewColumns"/>
      <End Role="ForeignKey" EntitySet="ViewForeignKeys"/>
    </AssociationSet>
    
    <AssociationSet Name="FunctionFunctionParameters" Association="Self.RoutineParameter" >
      <End Role="Routine" EntitySet="Functions"/>
      <End Role="Parameter" EntitySet="FunctionParameters"/>
    </AssociationSet>
    
    <AssociationSet Name="ProcedureProcedureParameters" Association="Self.RoutineParameter" >
      <End Role="Routine" EntitySet="Procedures"/>
      <End Role="Parameter" EntitySet="ProcedureParameters"/>
    </AssociationSet>

  </EntityContainer>

  <ComplexType Name="TypeSpecification">
    <Property Name="TypeName" Nullable="false" Type="String"  />
    <Property Name="MaxLength" Nullable="true" Type="Int32" />
    <Property Name="Precision" Nullable="true" Type="Int32" />
    <Property Name="DateTimePrecision" Nullable="true" Type="Int32" />
    <Property Name="Scale" Nullable="true" Type="Int32" />
    <Property Name="Collation" Nullable="false" Type="Self.Collation" />
    <Property Name="CharacterSet" Nullable="false" Type="Self.CharacterSet" />
    <Property Name="IsMultiSet" Nullable="false" Type="Boolean"/>
  </ComplexType>

  <ComplexType Name="Collation">
    <Property Name="CatalogName" Nullable="true" Type="String"  />
    <Property Name="SchemaName" Nullable="true" Type="String" />
    <Property Name="Name" Nullable="true" Type="String" />
  </ComplexType>

  <ComplexType Name="CharacterSet">
    <Property Name="CatalogName" Nullable="true" Type="String"  />
    <Property Name="SchemaName" Nullable="true" Type="String" />
    <Property Name="Name" Nullable="true" Type="String" />
  </ComplexType>

  <EntityType Name="TableOrView" Abstract="true">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="String"  />
    <Property Name="Name" Nullable="false" Type="String"  />
    <Property Name="CatalogName" Type="String"  />
    <Property Name="SchemaName" Type="String"  />
    <NavigationProperty Relationship="Self.TableOrViewColumn" Name="Columns" FromRole="Parent" ToRole="Column" />
    <NavigationProperty Relationship="Self.TableOrViewConstraint" Name="Constraints" FromRole="Parent" ToRole="Constraint" />
  </EntityType>

  <EntityType Name="Table" BaseType="Self.TableOrView">
  </EntityType>

  <EntityType Name="Column">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="String"  />
    <Property Name="Name" Nullable="false" Type="String" />
    <Property Name="Ordinal" Nullable="false" Type="Int32" />
    <Property Name="IsNullable" Nullable="false" Type="Boolean" />
    <Property Name="ColumnType" Nullable="false" Type="Self.TypeSpecification"/>
    <Property Name="IsIdentity" Nullable="false" Type="Boolean" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="Boolean" />
    <Property Name="Default" Type="String" />
    <NavigationProperty Relationship="Self.TableOrViewColumn" Name="Parent" FromRole="Column" ToRole="Parent" />
	<NavigationProperty Relationship="Self.TableOrViewConstraintColumn" Name="Constraints" FromRole="Column" ToRole="Constraint" />
	<NavigationProperty Relationship="Self.ToForeignKeyColumn" Name="ToForeignKeys" FromRole="Column" ToRole="ForeignKey" />
	<NavigationProperty Relationship="Self.FromForeignKeyColumn" Name="FromForeignKeys" FromRole="Column" ToRole="ForeignKey" />
  </EntityType>
  
  <EntityType Name="View" BaseType="Self.TableOrView">
    <Property Name="IsUpdatable" Nullable="false" Type="Boolean" />
    <Property Name="ViewDefinition" Nullable="true" Type="String"  />
  </EntityType>
  
  <EntityType Name="Routine" Abstract="true">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="String"  />
    <Property Name="CatalogName" Type="String"  />
    <Property Name="SchemaName" Type="String"  />
    <Property Name="Name" Nullable="false" Type="String"  />
    <NavigationProperty Relationship="Self.RoutineParameter" Name="Parameters" FromRole="Routine" ToRole="Parameter" />
  </EntityType>
  
  <EntityType Name="Parameter">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="String"  />
    <Property Name="Name" Nullable="false" Type="String"  />
    <Property Name="Ordinal" Nullable="false" Type="Int32" />
    <Property Name="ParameterType" Nullable="false" Type="Self.TypeSpecification"/>
    <Property Name="Mode" Type="String"  />
    <Property Name="Default" Type="String"  />
    <NavigationProperty Relationship="Self.RoutineParameter" Name="Routine" FromRole="Parameter" ToRole="Routine" />
  </EntityType>

  <EntityType Name="Function" BaseType="Self.Routine" Abstract="true">
    <Property Name="IsBuiltIn" Type="Boolean" />
    <Property Name="IsNiladic" Type="Boolean" />
  </EntityType>

  <EntityType Name="ScalarFunction" BaseType="Self.Function">
    <Property Name="ReturnType" Type="Self.TypeSpecification" Nullable="false"/>
    <Property Name="IsAggregate" Type="Boolean" />
  </EntityType>

  <EntityType Name="Procedure" BaseType="Self.Routine">
  </EntityType>

  <EntityType Name="Constraint" Abstract="true">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="String"  />
    <Property Name="Name" Nullable="false" Type="String"  />
    <Property Name="IsDeferrable" Nullable="false" Type="Boolean"  />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="Boolean"  />
    <NavigationProperty Relationship="Self.TableOrViewConstraint" Name="Parent" FromRole="Constraint" ToRole="Parent" />
  </EntityType>

  <EntityType Name="CheckConstraint" BaseType="Self.Constraint">
    <Property Name="Expression" Type="String" />
  </EntityType>
  
  <EntityType Name="TableOrViewColumnConstraint" BaseType="Self.Constraint" Abstract="true">
    <NavigationProperty Relationship="Self.TableOrViewConstraintColumn" Name="Columns" FromRole="Constraint" ToRole="Column" />
  </EntityType>

  <EntityType Name="PrimaryKeyConstraint" BaseType="Self.TableOrViewColumnConstraint">
  </EntityType>

  <EntityType Name="UniqueConstraint" BaseType="Self.TableOrViewColumnConstraint">
  </EntityType>

  <EntityType Name="ForeignKeyConstraint" BaseType="Self.Constraint">
    <Property Name="UpdateRule" Nullable="false" Type="String"  />
    <Property Name="DeleteRule" Nullable="false" Type="String"  />
    <NavigationProperty Relationship="Self.ConstraintForeignKey" Name="ForeignKeys" FromRole="Constraint" ToRole="ForeignKey" />
  </EntityType>

  <EntityType Name="ForeignKey">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="String"  />
    <Property Name="Ordinal" Nullable="false" Type="Int32" />
    <NavigationProperty Relationship="Self.ConstraintForeignKey" Name="Constraint" FromRole="ForeignKey" ToRole="Constraint" />
    <NavigationProperty Relationship="Self.FromForeignKeyColumn" Name="FromColumn" FromRole="ForeignKey" ToRole="Column" />
    <NavigationProperty Relationship="Self.ToForeignKeyColumn" Name="ToColumn" FromRole="ForeignKey" ToRole="Column" />
  </EntityType>
  
  <Association Name="TableOrViewColumn">
    <End Type="Self.TableOrView" Role="Parent" Multiplicity="1" />
    <End Type="Self.Column" Role="Column" Multiplicity="*" />
  </Association>
  
  <Association Name="TableOrViewConstraint">
    <End Type="Self.TableOrView" Role="Parent" Multiplicity="1" />
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="*" />
  </Association>

  <Association Name="TableOrViewConstraintColumn">
    <End Type="Self.TableOrViewColumnConstraint" Role="Constraint" Multiplicity="*" />
    <End Type="Self.Column" Role="Column" Multiplicity="*" />
  </Association>

  <Association Name="ConstraintForeignKey">
    <End Type="Self.ForeignKeyConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
  </Association>

  <Association Name="ToForeignKeyColumn">
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <End Type="Self.Column" Role="Column" Multiplicity="1" />
  </Association>

  <Association Name="FromForeignKeyColumn">
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <End Type="Self.Column" Role="Column" Multiplicity="1" />
  </Association>
  
  <Association Name="RoutineParameter">
    <End Type="Self.Routine" Role="Routine" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
  </Association>

</Schema>�<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.microsoft.com/ado/2006/04/edm/providermanifest" xmlns:pm="http://schemas.microsoft.com/ado/2006/04/edm/providermanifest">

  <xs:element name="ProviderManifest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Types" type="pm:TTypes" minOccurs="1" maxOccurs="1"/>
        <xs:element name="Functions" type="pm:TFunctions" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="Namespace" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="TVersion">
    <xs:attribute name="Major" type="xs:int" use="required"/>
    <xs:attribute name="Minor" type="xs:int" use="required"/>
    <xs:attribute name="Build" type="xs:int" use="required"/>
    <xs:attribute name="Revision" type="xs:int" use="required"/>
  </xs:complexType>

  <xs:complexType name="TIntegerFacetDescription">
    <xs:attribute name="Minimum" type="xs:int" use="optional"/>
    <xs:attribute name="Maximum" type="xs:int" use="optional"/>
    <xs:attribute name="DefaultValue" type="xs:int" use="optional"/>
    <xs:attribute name="Constant" type="xs:boolean" default="false"/>
  </xs:complexType>

  <xs:complexType name="TBooleanFacetDescription">
    <xs:attribute name="DefaultValue" type="xs:boolean" use="optional"/>
    <xs:attribute name="Constant" type="xs:boolean" default="true"/>
  </xs:complexType>

  <xs:complexType name="TSridFacetDescription">
    <xs:attribute name="Minimum" type="xs:int" use="optional"/>
    <xs:attribute name="Maximum" type="xs:int" use="optional"/>
    <xs:attribute name="DefaultValue" type="pm:TSrid" use="optional"/>
    <xs:attribute name="Constant" type="xs:boolean" default="true"/>
  </xs:complexType>

  <xs:complexType name="TDateTimeFacetDescription">
    <xs:attribute name="Constant" type="xs:boolean" default="false"/>
  </xs:complexType>

  <xs:complexType name="TFacetDescriptions">
    <xs:choice maxOccurs="unbounded">
      <xs:element name="Precision" minOccurs="0" maxOccurs="1" type="pm:TIntegerFacetDescription"/>
      <xs:element name="Scale" minOccurs="0" maxOccurs="1" type="pm:TIntegerFacetDescription"/>
      <xs:element name="MaxLength" minOccurs="0" maxOccurs="1" type="pm:TIntegerFacetDescription"/>
      <xs:element name="Unicode" minOccurs="0" maxOccurs="1" type="pm:TBooleanFacetDescription"/>
      <xs:element name="FixedLength" minOccurs="0" maxOccurs="1" type="pm:TBooleanFacetDescription"/>
      <xs:element name="SRID" minOccurs="0" maxOccurs="1" type="pm:TSridFacetDescription"/>
      <xs:element name="IsStrict" minOccurs="0" maxOccurs="1" type="pm:TBooleanFacetDescription"/>
    </xs:choice>
  </xs:complexType>

  <xs:complexType name="TType">
    <xs:sequence>
      <xs:element name="FacetDescriptions" type="pm:TFacetDescriptions" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Name" type="xs:string" use="required"/>
    <xs:attribute name="PrimitiveTypeKind" type="pm:TPrimitiveTypeKind" use="required"/>
  </xs:complexType>

  <xs:complexType name="TTypes">
    <xs:sequence>
      <xs:element name="Type" type="pm:TType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:attributeGroup name="TFacetAttribute">
    <xs:attribute name="Precision" type="xs:int" use="optional"/>
    <xs:attribute name="Scale" type="xs:int" use="optional"/>
    <xs:attribute name="MaxLength" type="xs:int" use="optional"/>
    <xs:attribute name="Unicode" type="xs:boolean" use="optional"/>
    <xs:attribute name="FixedLength" type="xs:boolean" use="optional"/>
  </xs:attributeGroup>

  <xs:complexType name="TFunctionParameter">
    <xs:attribute name="Name" type="xs:string" use="required"/>
    <xs:attribute name="Type" type="xs:string" use="required"/>
    <xs:attributeGroup ref="pm:TFacetAttribute"/>
    <xs:attribute name="Mode" type="pm:TParameterDirection" use="required"/>
  </xs:complexType>

  <xs:complexType name="TReturnType">
    <xs:attribute name="Type" type="xs:string" use="required"/>
    <xs:attributeGroup ref="pm:TFacetAttribute"/>
  </xs:complexType>

  <xs:complexType name="TFunction">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element name="ReturnType" type="pm:TReturnType" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Parameter" type="pm:TFunctionParameter" minOccurs="0" maxOccurs="unbounded"/>
    </xs:choice>
    <xs:attribute name="Name" type="xs:string" use="required"/>
    <xs:attribute name="Aggregate" type="xs:boolean" use="optional"/>
    <xs:attribute name="BuiltIn" type="xs:boolean" use="optional"/>
    <xs:attribute name="StoreFunctionName" type="xs:string" use="optional"/>
    <xs:attribute name="NiladicFunction" type="xs:boolean" use="optional"/>
    <xs:attribute name="ParameterTypeSemantics" type="pm:TParameterTypeSemantics" use="optional" default="AllowImplicitConversion"/>
  </xs:complexType>

  <xs:complexType name="TFunctions">
    <xs:sequence>
      <xs:element name="Function" type="pm:TFunction" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="TPrimitiveTypeKind">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Binary"/>
      <xs:enumeration value="Boolean"/>
      <xs:enumeration value="Byte"/>
      <xs:enumeration value="Decimal"/>
      <xs:enumeration value="DateTime"/>
      <xs:enumeration value="Time"/>
      <xs:enumeration value="DateTimeOffset"/>        
      <xs:enumeration value="Double"/>
      <!--- TODO: Spatial: only support the union types here for now.   Once we deeply understand the full heirarchy, we'll have to beef this up. -->
      <xs:enumeration value="Geography"/>
      <xs:enumeration value="Geometry"/>
      <xs:enumeration value="Guid"/>
      <xs:enumeration value="Single"/>
      <xs:enumeration value="SByte"/>
      <xs:enumeration value="Int16"/>
      <xs:enumeration value="Int32"/>
      <xs:enumeration value="Int64"/>
      <xs:enumeration value="String"/>
    </xs:restriction>
  </xs:simpleType>


  <xs:simpleType name="TParameterDirection">
    <xs:restriction base="xs:string">
      <xs:enumeration value="In"/>
      <xs:enumeration value="Out"/>
      <xs:enumeration value="InOut"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TParameterTypeSemantics">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ExactMatchOnly"/>
      <xs:enumeration value="AllowImplicitPromotion"/>
      <xs:enumeration value="AllowImplicitConversion"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TVariable">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Variable"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TSrid">
    <xs:union memberTypes="pm:TVariable xs:nonNegativeInteger"/>
  </xs:simpleType>
</xs:schema>
�<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:source="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" targetNamespace="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator">
    <xs:annotation>
        <xs:documentation xml:lang="en">
            Common Data Model Schema Definition Language.
            Copyright (c) Microsoft Corp. All rights reserved.
        </xs:documentation>
    </xs:annotation>

  <xs:attribute name="Type" type="source:TSourceType"/>
  <xs:attribute name="Schema" type="xs:string"/>
  <xs:attribute name="Name" type="xs:string"/>

    <xs:simpleType name="TSourceType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Tables"/>
            <xs:enumeration value="Views"/>
        </xs:restriction>
    </xs:simpleType>
 
</xs:schema>
�M<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:edm="http://schemas.microsoft.com/ado/2009/11/edm/ssdl" xmlns:gen="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" targetNamespace="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">
  <xs:annotation>
    <xs:documentation xml:lang="en">
      Common Data Model Schema Definition Language.
      Copyright (c) Microsoft Corp. All rights reserved.
    </xs:documentation>
  </xs:annotation>
  <xs:import namespace="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" schemaLocation="System.Data.Resources.EntityStoreSchemaGenerator.xsd"/>
  <xs:element name="Schema" type="edm:TSchema"/>
  <xs:complexType name="TSchema">
    <xs:sequence>
      <xs:group ref="edm:GSchemaBodyElements" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Namespace" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="Alias" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:attribute name="Provider" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="ProviderManifestToken" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:group name="GSchemaBodyElements">
    <xs:choice>
      <xs:element name="Association" type="edm:TAssociation" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="EntityType" type="edm:TEntityType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="edm:EntityContainer" minOccurs="1" maxOccurs="1"/>
      <xs:element name="Function" type="edm:TFunction" minOccurs="0" maxOccurs="unbounded"/>
    </xs:choice>
  </xs:group>

  <xs:simpleType name="TMax">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Max"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="TVariable">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Variable"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Facets for Primitive types -->
  <xs:simpleType name="TMaxLengthFacet">
    <xs:union memberTypes="edm:TMax xs:nonNegativeInteger"/>
  </xs:simpleType>
  
  <xs:simpleType name="TSridFacet">
    <xs:union memberTypes="edm:TVariable xs:nonNegativeInteger"/>
  </xs:simpleType>

  <xs:simpleType name="TIsFixedLengthFacet">
    <xs:restriction base="xs:boolean"/>
  </xs:simpleType>

  <xs:simpleType name="TKindFacet">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Utc"/>
      <xs:enumeration value="Local"/>
      <xs:enumeration value="Unspecified"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TPrecisionFacet">
    <xs:restriction base="xs:nonNegativeInteger"/>
  </xs:simpleType>

  <xs:simpleType name="TScaleFacet">
    <xs:restriction base="xs:nonNegativeInteger"/>
  </xs:simpleType>

  <xs:simpleType name="TIsUnicodeFacet">
    <xs:restriction base="xs:boolean"/>
  </xs:simpleType>

  <xs:simpleType name="TCollationFacet">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>

  <!-- 
        types of the top level elements 
    -->
  <xs:complexType name="TDocumentation">
    <xs:annotation>
      <xs:documentation>
        The Documentation element is used to provide documentation of comments on the contents of the XML file. It is valid under Schema, Type, Index and Relationship elements.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Summary" type="edm:TText" minOccurs="0" maxOccurs="1"/>
      <xs:element name="LongDescription" type="edm:TText" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>

  <xs:complexType name="TText" mixed="true">
    <xs:sequence>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>

  <xs:complexType name="TAssociation">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="End" type="edm:TAssociationEnd" minOccurs="2" maxOccurs="2"/>
      <xs:element name="ReferentialConstraint" type="edm:TConstraint" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
    <!--<xs:attribute name="Identifying" type="xs:boolean" use="optional" default="false" />-->
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:complexType name="TConstraint">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Principal" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
      <xs:element name="Dependent" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:complexType name="TReferentialConstraintRoleElement">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:complexType name="TEntityType">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Key" type="edm:TEntityKeyElement" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Property" type="edm:TEntityProperty" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:complexType name="TEntityKeyElement">
    <xs:sequence>
      <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TPropertyRef">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:complexType name="TCollectionType">
    <xs:choice minOccurs="1" maxOccurs="1">
      <xs:element name="RowType" type="edm:TRowType" minOccurs="1" maxOccurs="1"/>
    </xs:choice>
  </xs:complexType>

  <xs:complexType name="TRowType">
    <xs:choice minOccurs="1" maxOccurs="unbounded">
      <xs:element name="Property" type="edm:TProperty" minOccurs="1" maxOccurs="unbounded"/>
    </xs:choice>
  </xs:complexType>

  <xs:group name="GEmptyElementExtensibility">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>

  <!-- 
        base types  
    -->
  <xs:complexType name="TAssociationEnd">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:group ref="edm:TOperations" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:attribute name="Multiplicity" type="edm:TMultiplicity" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:group name="TOperations">
    <xs:choice>
      <xs:element name="OnDelete" type="edm:TOnAction" maxOccurs="1" minOccurs="0"/>
    </xs:choice>
  </xs:group>

  <xs:complexType name="TOnAction">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Action" type="edm:TAction" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:complexType name="TEntityProperty">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TCommonPropertyAttributes"/>
    <xs:attribute name="StoreGeneratedPattern" type="edm:TStoreGeneratedPattern" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:complexType name="TProperty">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TCommonPropertyAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:attributeGroup name="TCommonPropertyAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TPropertyType" use="required"/>
    <xs:attribute name="Nullable" type="xs:boolean" default="true" use="optional"/>
    <xs:attribute name="DefaultValue" type="xs:string" use="optional"/>

    <!-- Start Facets -->
    <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
    <xs:attribute name="FixedLength" type="edm:TIsFixedLengthFacet" use="optional"/>
    <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
    <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
    <xs:attribute name="Unicode" type="edm:TIsUnicodeFacet" use="optional"/>
    <xs:attribute name="Collation" type="edm:TCollationFacet" use="optional"/>
    <xs:attribute name="SRID" type="edm:TSridFacet" use="optional"/>
    <!--End Facets -->
  </xs:attributeGroup>

  <xs:element name="EntityContainer">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="EntitySet">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                <xs:element name="DefiningQuery" type="edm:TCommandText" minOccurs="0" maxOccurs="1"/>
                <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
              <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
              <xs:attribute name="EntityType" type="edm:TQualifiedName" use="required"/>
              <xs:attribute name="Schema" type="edm:TSimpleIdentifier" use="optional"/>
              <xs:attribute name="Table" type="edm:TSimpleIdentifier" use="optional"/>
              <xs:attribute ref="gen:Type" use="optional"/>
              <xs:attribute ref="gen:Schema" use="optional"/>
              <xs:attribute ref="gen:Name" use="optional"/>
              <xs:anyAttribute processContents="lax" namespace="##other"/>
            </xs:complexType>
          </xs:element>

          <xs:element name="AssociationSet">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                <xs:element name="End" minOccurs="0" maxOccurs="2">
                  <!-- 1. The number of Ends has to match with ones defined in AssociationType 
                                         2. Value for attribute Name should match the defined ones and EntitySet should be of the 
                                            defined Entity Type in AssociationType 
                                    -->
                  <xs:complexType>
                    <xs:sequence>
                      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
                    </xs:sequence>
                    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
                    <xs:attribute name="EntitySet" type="edm:TSimpleIdentifier" use="required"/>
                  </xs:complexType>
                </xs:element>
                <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
              <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
              <xs:attribute name="Association" type="edm:TQualifiedName" use="required"/>
              <xs:anyAttribute namespace="##other" processContents="lax"/>
            </xs:complexType>
          </xs:element>
        </xs:choice>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="TFunction">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Parameter" type="edm:TParameter" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="CommandText" type="edm:TCommandText" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ReturnType" type="edm:TFunctionReturnType" minOccurs="0" maxOccurs="1"/>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
    <xs:attribute name="ReturnType" type="edm:TFunctionType" use="optional"/>
    <xs:attribute name="Aggregate" type="xs:boolean" use="optional"/>
    <xs:attribute name="BuiltIn" type="xs:boolean" use="optional"/>
    <xs:attribute name="StoreFunctionName" type="xs:string" use="optional"/>
    <xs:attribute name="NiladicFunction" type="xs:boolean" use="optional"/>
    <xs:attribute name="IsComposable" type="xs:boolean" use="optional" default="true"/>
    <xs:attribute name="ParameterTypeSemantics" type="edm:TParameterTypeSemantics" use="optional" default="AllowImplicitConversion"/>
    <xs:attribute name="Schema" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:attribute ref="gen:Schema" use="optional"/>
    <xs:attribute ref="gen:Name" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:complexType name="TParameter">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="xs:string" use="required"/>
    <xs:attribute name="Type" type="edm:TFunctionType" use="required"/>
    <xs:attribute name="Mode" type="edm:TParameterMode" use="optional"/>
    <!-- Start Facets -->
    <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
    <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
    <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
    <xs:attribute name="SRID" type="edm:TSridFacet" use="optional"/>
    <!--End Facets -->
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:complexType name="TFunctionReturnType">
    <xs:choice minOccurs="1" maxOccurs="1">
      <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
    </xs:choice>
  </xs:complexType>

  <!-- 
    general (more or less) purpose simple types 
    -->

  <xs:simpleType name="TCommandText">
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="preserve"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TQualifiedName">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>

  <xs:simpleType name="TUndottedIdentifier">
    <xs:restriction base="xs:string">
      <!-- no periods -->
      <xs:pattern value="[^.]{1,}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TSimpleIdentifier">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>

  <xs:simpleType name="TPropertyType">
    <xs:union memberTypes="edm:TQualifiedName">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification -->
          <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:simpleType name="TAction">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Cascade"/>
      <xs:enumeration value="Restrict"/>
      <xs:enumeration value="None"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TMultiplicity">
    <xs:restriction base="xs:token">
      <xs:enumeration value="0..1"/>
      <xs:enumeration value="1"/>
      <xs:enumeration value="*"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TStoreGeneratedPattern">
    <xs:restriction base="xs:token">
      <xs:enumeration value="None"/>
      <xs:enumeration value="Identity"/>
      <xs:enumeration value="Computed"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TParameterMode">
    <xs:restriction base="xs:token">
      <xs:enumeration value="In"/>
      <xs:enumeration value="Out"/>
      <xs:enumeration value="InOut"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TFunctionType">
    <xs:union memberTypes="edm:TQualifiedName ">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="Collection\([^ \t]{1,}(\.[^ \t]{1,}){0,}\)"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TParameterTypeSemantics">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ExactMatchOnly"/>
      <xs:enumeration value="AllowImplicitPromotion"/>
      <xs:enumeration value="AllowImplicitConversion"/>
    </xs:restriction>
  </xs:simpleType>


</xs:schema>
�M<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:edm="http://schemas.microsoft.com/ado/2009/02/edm/ssdl" xmlns:gen="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" targetNamespace="http://schemas.microsoft.com/ado/2009/02/edm/ssdl">
    <xs:annotation>
        <xs:documentation xml:lang="en">
            Common Data Model Schema Definition Language.
            Copyright (c) Microsoft Corp. All rights reserved.
        </xs:documentation>
    </xs:annotation>
  <xs:import namespace="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" schemaLocation="System.Data.Resources.EntityStoreSchemaGenerator.xsd"/>
  <xs:element name="Schema" type="edm:TSchema"/>
    <xs:complexType name="TSchema">
        <xs:sequence>
            <xs:group ref="edm:GSchemaBodyElements" minOccurs="0" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Namespace" type="edm:TQualifiedName" use="required"/>
        <xs:attribute name="Alias" type="edm:TSimpleIdentifier" use="optional"/>
        <xs:attribute name="Provider" type="edm:TSimpleIdentifier" use="required"/>
        <xs:attribute name="ProviderManifestToken" type="edm:TSimpleIdentifier" use="required"/>      
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:group name="GSchemaBodyElements">
        <xs:choice>
            <xs:element name="Association" type="edm:TAssociation" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="EntityType" type="edm:TEntityType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="edm:EntityContainer" minOccurs="1" maxOccurs="1"/>
            <xs:element name="Function" type="edm:TFunction" minOccurs="0" maxOccurs="unbounded"/>
        </xs:choice>
    </xs:group>

    <xs:simpleType name="TMax">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Max"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- Facets for Primitive types -->
    <xs:simpleType name="TMaxLengthFacet">
        <xs:union memberTypes="edm:TMax xs:nonNegativeInteger"/>
    </xs:simpleType>

    <xs:simpleType name="TIsFixedLengthFacet">
        <xs:restriction base="xs:boolean"/>
    </xs:simpleType>

    <xs:simpleType name="TKindFacet">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Utc"/>
            <xs:enumeration value="Local"/>
            <xs:enumeration value="Unspecified"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TPrecisionFacet">
        <xs:restriction base="xs:nonNegativeInteger"/>
    </xs:simpleType>

    <xs:simpleType name="TScaleFacet">
        <xs:restriction base="xs:nonNegativeInteger"/>
    </xs:simpleType>

    <xs:simpleType name="TIsUnicodeFacet">
        <xs:restriction base="xs:boolean"/>
    </xs:simpleType>

    <xs:simpleType name="TCollationFacet">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <!-- 
        types of the top level elements 
    -->
   <xs:complexType name="TDocumentation">
    <xs:annotation>
      <xs:documentation>The Documentation element is used to provide documentation of comments on the contents of the XML file. It is valid under Schema, Type, Index and Relationship elements.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Summary" type="edm:TText" minOccurs="0" maxOccurs="1"/>
      <xs:element name="LongDescription" type="edm:TText" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>

  <xs:complexType name="TText" mixed="true">
    <xs:sequence>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>


    <xs:complexType name="TAssociation">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:element name="End" type="edm:TAssociationEnd" minOccurs="2" maxOccurs="2"/>
            <xs:element name="ReferentialConstraint" type="edm:TConstraint" minOccurs="0" maxOccurs="1"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
        <!--<xs:attribute name="Identifying" type="xs:boolean" use="optional" default="false" />-->
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="TConstraint">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Principal" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
            <xs:element name="Dependent" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="TReferentialConstraintRoleElement">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="TEntityType">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Key" type="edm:TEntityKeyElement" minOccurs="0" maxOccurs="1"/>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="Property" type="edm:TEntityProperty" minOccurs="0" maxOccurs="unbounded"/>
            </xs:choice>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="TEntityKeyElement">
        <xs:sequence>
            <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="TPropertyRef">
        <xs:sequence>
            <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:group name="GEmptyElementExtensibility">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>

    <!-- 
        base types  
    -->
    <xs:complexType name="TAssociationEnd">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:group ref="edm:TOperations" minOccurs="0" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Type" type="edm:TQualifiedName" use="required"/>
        <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
        <xs:attribute name="Multiplicity" type="edm:TMultiplicity" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:group name="TOperations">
        <xs:choice>
            <xs:element name="OnDelete" type="edm:TOnAction" maxOccurs="1" minOccurs="0"/>
        </xs:choice>
    </xs:group>

    <xs:complexType name="TOnAction">
        <xs:sequence>
            <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="Action" type="edm:TAction" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="TEntityProperty">
        <xs:sequence>
            <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attributeGroup ref="edm:TCommonPropertyAttributes"/>
        <xs:attribute name="StoreGeneratedPattern" type="edm:TStoreGeneratedPattern" use="optional"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:attributeGroup name="TCommonPropertyAttributes">
        <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
        <xs:attribute name="Type" type="edm:TPropertyType" use="required"/>
        <xs:attribute name="Nullable" type="xs:boolean" default="true" use="optional"/>
        <xs:attribute name="DefaultValue" type="xs:string" use="optional"/>

        <!-- Start Facets -->
        <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
        <xs:attribute name="FixedLength" type="edm:TIsFixedLengthFacet" use="optional"/>
        <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
        <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
        <xs:attribute name="Unicode" type="edm:TIsUnicodeFacet" use="optional"/>
        <xs:attribute name="Collation" type="edm:TCollationFacet" use="optional"/>
        <!--End Facets -->
    </xs:attributeGroup>


    <xs:element name="EntityContainer">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element name="EntitySet">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                                <xs:element name="DefiningQuery" type="edm:TCommandText" minOccurs="0" maxOccurs="1"/>
                                <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                            </xs:sequence>
                          <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
                          <xs:attribute name="EntityType" type="edm:TQualifiedName" use="required"/>
                          <xs:attribute name="Schema" type="edm:TSimpleIdentifier" use="optional"/>
                          <xs:attribute name="Table" type="edm:TSimpleIdentifier" use="optional"/>
                          <xs:attribute ref="gen:Type" use="optional"/>
                          <xs:attribute ref="gen:Schema" use="optional"/>
                          <xs:attribute ref="gen:Name" use="optional"/>
                          <xs:anyAttribute processContents="lax" namespace="##other"/>
                        </xs:complexType>
                    </xs:element>

                    <xs:element name="AssociationSet">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                                <xs:element name="End" minOccurs="0" maxOccurs="2">
                                    <!-- 1. The number of Ends has to match with ones defined in AssociationType 
                                         2. Value for attribute Name should match the defined ones and EntitySet should be of the 
                                            defined Entity Type in AssociationType 
                                    -->
                                    <xs:complexType>
                                        <xs:sequence>
                                            <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
                                        </xs:sequence>
                                        <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
                                        <xs:attribute name="EntitySet" type="edm:TSimpleIdentifier" use="required"/>
                                    </xs:complexType>
                                </xs:element>
                                <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                            </xs:sequence>
                            <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
                            <xs:attribute name="Association" type="edm:TQualifiedName" use="required"/>
                            <xs:anyAttribute namespace="##other" processContents="lax"/>
                        </xs:complexType>
                    </xs:element>
                </xs:choice>
              <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
            <xs:anyAttribute namespace="##other" processContents="lax"/>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="TFunction">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:element name="CommandText" type="edm:TCommandText" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Parameter" type="edm:TParameter" minOccurs="0" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
        <xs:attribute name="ReturnType" type="edm:TFunctionType" use="optional"/>
        <xs:attribute name="Aggregate" type="xs:boolean" use="optional"/>
        <xs:attribute name="BuiltIn" type="xs:boolean" use="optional"/>
        <xs:attribute name="StoreFunctionName" type="xs:string" use="optional"/>
        <xs:attribute name="NiladicFunction" type="xs:boolean" use="optional"/>
        <xs:attribute name="IsComposable" type="xs:boolean" use="optional" default="true"/>
        <xs:attribute name="ParameterTypeSemantics" type="edm:TParameterTypeSemantics" use="optional" default="AllowImplicitConversion"/>
        <xs:attribute name="Schema" type="edm:TSimpleIdentifier" use="optional"/>
        <xs:attribute ref="gen:Schema" use="optional"/>
        <xs:attribute ref="gen:Name" use="optional"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="TParameter">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Name" type="xs:string" use="required"/>
        <xs:attribute name="Type" type="edm:TFunctionType" use="required"/>
        <xs:attribute name="Mode" type="edm:TParameterMode" use="optional"/>
        <!-- Start Facets -->
        <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
        <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
        <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
        <!--End Facets -->
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <!-- 
    general (more or less) purpose simple types 
    -->

  <xs:simpleType name="TCommandText">
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="preserve"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TQualifiedName">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

  <xs:simpleType name="TUndottedIdentifier">
    <xs:restriction base="xs:string">
      <!-- no periods -->
      <xs:pattern value="[^.]{1,}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TSimpleIdentifier">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="TPropertyType">
        <xs:union memberTypes="edm:TQualifiedName">
            <xs:simpleType>
                <xs:restriction base="xs:token">
                    <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification -->
                    <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>

    <xs:simpleType name="TAction">
        <xs:restriction base="xs:token">
            <xs:enumeration value="Cascade"/>
            <xs:enumeration value="Restrict"/>
            <xs:enumeration value="None"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TMultiplicity">
    <xs:restriction base="xs:token">
      <xs:enumeration value="0..1"/>
      <xs:enumeration value="1"/>
      <xs:enumeration value="*"/>
    </xs:restriction>
  </xs:simpleType>

    <xs:simpleType name="TStoreGeneratedPattern">
        <xs:restriction base="xs:token">
            <xs:enumeration value="None"/>
            <xs:enumeration value="Identity"/>
            <xs:enumeration value="Computed"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TParameterMode">
        <xs:restriction base="xs:token">
            <xs:enumeration value="In"/>
            <xs:enumeration value="Out"/>
            <xs:enumeration value="InOut"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TFunctionType">
        <xs:union memberTypes="edm:TQualifiedName ">
            <xs:simpleType>
                <xs:restriction base="xs:token">
                    <xs:pattern value="Collection\([^ \t]{1,}(\.[^ \t]{1,}){0,}\)"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <xs:simpleType name="TParameterTypeSemantics">
        <xs:restriction base="xs:token">
            <xs:enumeration value="ExactMatchOnly"/>
            <xs:enumeration value="AllowImplicitPromotion"/>
            <xs:enumeration value="AllowImplicitConversion"/>
        </xs:restriction>
    </xs:simpleType>


</xs:schema>
M<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:edm="http://schemas.microsoft.com/ado/2006/04/edm/ssdl" xmlns:gen="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" targetNamespace="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
    <xs:annotation>
        <xs:documentation xml:lang="en">
            Common Data Model Schema Definition Language.
            Copyright (c) Microsoft Corp. All rights reserved.
        </xs:documentation>
    </xs:annotation>
  <xs:import namespace="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" schemaLocation="System.Data.Resources.EntityStoreSchemaGenerator.xsd"/>
  <xs:element name="Schema" type="edm:TSchema"/>
    <xs:complexType name="TSchema">
        <xs:sequence>
            <xs:group ref="edm:GSchemaBodyElements" minOccurs="0" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Namespace" type="edm:TQualifiedName" use="required"/>
        <xs:attribute name="Alias" type="edm:TSimpleIdentifier" use="optional"/>
        <xs:attribute name="Provider" type="edm:TSimpleIdentifier" use="required"/>
        <xs:attribute name="ProviderManifestToken" type="edm:TSimpleIdentifier" use="required"/>      
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:group name="GSchemaBodyElements">
        <xs:choice>
            <xs:element name="Association" type="edm:TAssociation" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="EntityType" type="edm:TEntityType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="edm:EntityContainer" minOccurs="1" maxOccurs="1"/>
            <xs:element name="Function" type="edm:TFunction" minOccurs="0" maxOccurs="unbounded"/>
        </xs:choice>
    </xs:group>

    <xs:simpleType name="TMax">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Max"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- Facets for Primitive types -->
    <xs:simpleType name="TMaxLengthFacet">
        <xs:union memberTypes="edm:TMax xs:nonNegativeInteger"/>
    </xs:simpleType>

    <xs:simpleType name="TIsFixedLengthFacet">
        <xs:restriction base="xs:boolean"/>
    </xs:simpleType>

    <xs:simpleType name="TKindFacet">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Utc"/>
            <xs:enumeration value="Local"/>
            <xs:enumeration value="Unspecified"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TPrecisionFacet">
        <xs:restriction base="xs:nonNegativeInteger"/>
    </xs:simpleType>

    <xs:simpleType name="TScaleFacet">
        <xs:restriction base="xs:nonNegativeInteger"/>
    </xs:simpleType>

    <xs:simpleType name="TIsUnicodeFacet">
        <xs:restriction base="xs:boolean"/>
    </xs:simpleType>

    <xs:simpleType name="TCollationFacet">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <!-- 
        types of the top level elements 
    -->
   <xs:complexType name="TDocumentation">
    <xs:annotation>
      <xs:documentation>The Documentation element is used to provide documentation of comments on the contents of the XML file. It is valid under Schema, Type, Index and Relationship elements.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Summary" type="edm:TText" minOccurs="0" maxOccurs="1"/>
      <xs:element name="LongDescription" type="edm:TText" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>

  <xs:complexType name="TText" mixed="true">
    <xs:sequence>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>


    <xs:complexType name="TAssociation">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:element name="End" type="edm:TAssociationEnd" minOccurs="2" maxOccurs="2"/>
            <xs:element name="ReferentialConstraint" type="edm:TConstraint" minOccurs="0" maxOccurs="1"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
        <!--<xs:attribute name="Identifying" type="xs:boolean" use="optional" default="false" />-->
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="TConstraint">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Principal" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
            <xs:element name="Dependent" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="TReferentialConstraintRoleElement">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="TEntityType">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Key" type="edm:TEntityKeyElement" minOccurs="0" maxOccurs="1"/>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="Property" type="edm:TEntityProperty" minOccurs="0" maxOccurs="unbounded"/>
            </xs:choice>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="TEntityKeyElement">
        <xs:sequence>
            <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="TPropertyRef">
        <xs:sequence>
            <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:group name="GEmptyElementExtensibility">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>

    <!-- 
        base types  
    -->
    <xs:complexType name="TAssociationEnd">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:group ref="edm:TOperations" minOccurs="0" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Type" type="edm:TQualifiedName" use="required"/>
        <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
        <xs:attribute name="Multiplicity" type="edm:TMultiplicity" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:group name="TOperations">
        <xs:choice>
            <xs:element name="OnDelete" type="edm:TOnAction" maxOccurs="1" minOccurs="0"/>
        </xs:choice>
    </xs:group>

    <xs:complexType name="TOnAction">
        <xs:sequence>
            <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="Action" type="edm:TAction" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="TEntityProperty">
        <xs:sequence>
            <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attributeGroup ref="edm:TCommonPropertyAttributes"/>
        <xs:attribute name="StoreGeneratedPattern" type="edm:TStoreGeneratedPattern" use="optional"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:attributeGroup name="TCommonPropertyAttributes">
        <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
        <xs:attribute name="Type" type="edm:TPropertyType" use="required"/>
        <xs:attribute name="Nullable" type="xs:boolean" default="true" use="optional"/>
        <xs:attribute name="DefaultValue" type="xs:string" use="optional"/>

        <!-- Start Facets -->
        <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
        <xs:attribute name="FixedLength" type="edm:TIsFixedLengthFacet" use="optional"/>
        <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
        <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
        <xs:attribute name="Unicode" type="edm:TIsUnicodeFacet" use="optional"/>
        <xs:attribute name="Collation" type="edm:TCollationFacet" use="optional"/>
        <!--End Facets -->
    </xs:attributeGroup>


    <xs:element name="EntityContainer">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element name="EntitySet">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                                <xs:element name="DefiningQuery" type="edm:TCommandText" minOccurs="0" maxOccurs="1"/>
                                <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                            </xs:sequence>
                          <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
                          <xs:attribute name="EntityType" type="edm:TQualifiedName" use="required"/>
                          <xs:attribute name="Schema" type="edm:TSimpleIdentifier" use="optional"/>
                          <xs:attribute name="Table" type="edm:TSimpleIdentifier" use="optional"/>
                          <xs:attribute ref="gen:Type" use="optional"/>
                          <xs:attribute ref="gen:Schema" use="optional"/>
                          <xs:attribute ref="gen:Name" use="optional"/>
                          <xs:anyAttribute processContents="lax" namespace="##other"/>
                        </xs:complexType>
                    </xs:element>

                    <xs:element name="AssociationSet">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                                <xs:element name="End" minOccurs="0" maxOccurs="2">
                                    <!-- 1. The number of Ends has to match with ones defined in AssociationType 
                                         2. Value for attribute Name should match the defined ones and EntitySet should be of the 
                                            defined Entity Type in AssociationType 
                                    -->
                                    <xs:complexType>
                                        <xs:sequence>
                                            <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
                                        </xs:sequence>
                                        <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
                                        <xs:attribute name="EntitySet" type="edm:TSimpleIdentifier" use="required"/>
                                    </xs:complexType>
                                </xs:element>
                                <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                            </xs:sequence>
                            <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
                            <xs:attribute name="Association" type="edm:TQualifiedName" use="required"/>
                            <xs:anyAttribute namespace="##other" processContents="lax"/>
                        </xs:complexType>
                    </xs:element>
                </xs:choice>
            </xs:sequence>
            <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="TFunction">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:element name="CommandText" type="edm:TCommandText" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Parameter" type="edm:TParameter" minOccurs="0" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Name" type="edm:TUndottedIdentifier" use="required"/>
        <xs:attribute name="ReturnType" type="edm:TFunctionType" use="optional"/>
        <xs:attribute name="Aggregate" type="xs:boolean" use="optional"/>
        <xs:attribute name="BuiltIn" type="xs:boolean" use="optional"/>
        <xs:attribute name="StoreFunctionName" type="xs:string" use="optional"/>
        <xs:attribute name="NiladicFunction" type="xs:boolean" use="optional"/>
        <xs:attribute name="IsComposable" type="xs:boolean" use="optional" default="true"/>
        <xs:attribute name="ParameterTypeSemantics" type="edm:TParameterTypeSemantics" use="optional" default="AllowImplicitConversion"/>
        <xs:attribute name="Schema" type="edm:TSimpleIdentifier" use="optional"/>
        <xs:attribute ref="gen:Schema" use="optional"/>
        <xs:attribute ref="gen:Name" use="optional"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="TParameter">
        <xs:sequence>
            <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Name" type="xs:string" use="required"/>
        <xs:attribute name="Type" type="edm:TFunctionType" use="required"/>
        <xs:attribute name="Mode" type="edm:TParameterMode" use="optional"/>
        <!-- Start Facets -->
        <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
        <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
        <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
        <!--End Facets -->
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <!-- 
    general (more or less) purpose simple types 
    -->

  <xs:simpleType name="TCommandText">
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="preserve"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TQualifiedName">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

  <xs:simpleType name="TUndottedIdentifier">
    <xs:restriction base="xs:string">
      <!-- no periods -->
      <xs:pattern value="[^.]{1,}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TSimpleIdentifier">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="TPropertyType">
        <xs:union memberTypes="edm:TQualifiedName">
            <xs:simpleType>
                <xs:restriction base="xs:token">
                    <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification -->
                    <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>

    <xs:simpleType name="TAction">
        <xs:restriction base="xs:token">
            <xs:enumeration value="Cascade"/>
            <xs:enumeration value="Restrict"/>
            <xs:enumeration value="None"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TMultiplicity">
    <xs:restriction base="xs:token">
      <xs:enumeration value="0..1"/>
      <xs:enumeration value="1"/>
      <xs:enumeration value="*"/>
    </xs:restriction>
  </xs:simpleType>

    <xs:simpleType name="TStoreGeneratedPattern">
        <xs:restriction base="xs:token">
            <xs:enumeration value="None"/>
            <xs:enumeration value="Identity"/>
            <xs:enumeration value="Computed"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TParameterMode">
        <xs:restriction base="xs:token">
            <xs:enumeration value="In"/>
            <xs:enumeration value="Out"/>
            <xs:enumeration value="InOut"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TFunctionType">
        <xs:union memberTypes="edm:TQualifiedName ">
            <xs:simpleType>
                <xs:restriction base="xs:token">
                    <xs:pattern value="Collection\([^ \t]{1,}(\.[^ \t]{1,}){0,}\)"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <xs:simpleType name="TParameterTypeSemantics">
        <xs:restriction base="xs:token">
            <xs:enumeration value="ExactMatchOnly"/>
            <xs:enumeration value="AllowImplicitPromotion"/>
            <xs:enumeration value="AllowImplicitConversion"/>
        </xs:restriction>
    </xs:simpleType>


</xs:schema>
��<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns:cg="http://schemas.microsoft.com/ado/2006/04/codegeneration" xmlns:edm="http://schemas.microsoft.com/ado/2009/11/edm" targetNamespace="http://schemas.microsoft.com/ado/2009/11/edm">
  <xs:annotation>
    <xs:documentation xml:lang="en">
      Common Data Model Schema Definition Language.
      Copyright (c) Microsoft Corp. All rights reserved.
    </xs:documentation>
  </xs:annotation>
  <xs:import namespace="http://schemas.microsoft.com/ado/2006/04/codegeneration" schemaLocation="System.Data.Resources.CodeGenerationSchema.xsd"/>
  <xs:import namespace="http://schemas.microsoft.com/ado/2009/02/edm/annotation" schemaLocation="System.Data.Resources.AnnotationSchema.xsd"/>
  <xs:element name="Schema" type="edm:TSchema"/>
  <xs:complexType name="TSchema">
    <xs:sequence>
      <xs:group ref="edm:GSchemaBodyElements" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Namespace" type="edm:TNamespaceName" use="optional"/>
    <xs:attribute name="Alias" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:group name="GSchemaBodyElements">
    <xs:choice>
      <xs:element name="Using" type="edm:TUsing" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="Association" type="edm:TAssociation" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="ComplexType" type="edm:TComplexType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="EntityType" type="edm:TEntityType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="EnumType" type="edm:TEnumType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="ValueTerm" type="edm:TValueTerm" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="Function" type="edm:TFunction" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="Annotations" type="edm:TAnnotations" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="edm:EntityContainer" minOccurs="1" maxOccurs="1"/>
    </xs:choice>
  </xs:group>
  <!-- EDM SimpleType instances for use by EDM Instance documents-->
  <xs:simpleType name="EDMSimpleType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Binary"/>
      <xs:enumeration value="Boolean"/>
      <xs:enumeration value="Byte"/>
      <xs:enumeration value="DateTime"/>
      <xs:enumeration value="DateTimeOffset"/>
      <xs:enumeration value="Time"/>
      <xs:enumeration value="Decimal"/>
      <xs:enumeration value="Double"/>
      <xs:enumeration value="Single"/>
      <xs:enumeration value="Geography"/>
      <xs:enumeration value="GeographyPoint"/>
      <xs:enumeration value="GeographyLineString"/>
      <xs:enumeration value="GeographyPolygon"/>
      <xs:enumeration value="GeographyMultiPoint"/>
      <xs:enumeration value="GeographyMultiLineString"/>
      <xs:enumeration value="GeographyMultiPolygon"/>
      <xs:enumeration value="GeographyCollection"/>
      <xs:enumeration value="Geometry"/>
      <xs:enumeration value="GeometryPoint"/>
      <xs:enumeration value="GeometryLineString"/>
      <xs:enumeration value="GeometryPolygon"/>
      <xs:enumeration value="GeometryMultiPoint"/>
      <xs:enumeration value="GeometryMultiLineString"/>
      <xs:enumeration value="GeometryMultiPolygon"/>
      <xs:enumeration value="GeometryCollection"/>
      <xs:enumeration value="Guid"/>
      <xs:enumeration value="Int16"/>
      <xs:enumeration value="Int32"/>
      <xs:enumeration value="Int64"/>
      <xs:enumeration value="String"/>
      <xs:enumeration value="SByte"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TMax">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Max"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TVariable">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Variable"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- Facets for Primitive types -->
  <xs:simpleType name="TMaxLengthFacet">
    <xs:union memberTypes="edm:TMax xs:nonNegativeInteger  "/>
  </xs:simpleType>
  <xs:simpleType name="TIsFixedLengthFacet">
    <xs:restriction base="xs:boolean"/>
  </xs:simpleType>
  <xs:simpleType name="TPrecisionFacet">
    <xs:restriction base="xs:nonNegativeInteger"/>
  </xs:simpleType>
  <xs:simpleType name="TScaleFacet">
    <xs:restriction base="xs:nonNegativeInteger"/>
  </xs:simpleType>
  <xs:simpleType name="TIsUnicodeFacet">
    <xs:restriction base="xs:boolean"/>
  </xs:simpleType>
  <xs:simpleType name="TCollationFacet">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:simpleType name="TSridFacet">
    <xs:union memberTypes="edm:TVariable xs:nonNegativeInteger  "/>
  </xs:simpleType>
  <!--
        types at all levels
    -->
  <xs:complexType name="TDocumentation">
    <xs:annotation>
      <xs:documentation>The Documentation element is used to provide documentation of comments on the contents of the XML file.  It is valid under Schema, Type, Index and Relationship elements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Summary" type="edm:TText" minOccurs="0" maxOccurs="1"/>
      <xs:element name="LongDescription" type="edm:TText" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="TText" mixed="true">
    <xs:sequence>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="TXmlOrText" mixed="true">
    <xs:annotation>
      <xs:documentation>This type allows pretty much any content</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute processContents="skip" namespace="##any"/>
  </xs:complexType>
  <!-- 
        types of the top level elements 
    -->
  <xs:complexType name="TUsing">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Namespace" type="edm:TNamespaceName" use="required"/>
    <xs:attribute name="Alias" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TAssociation">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="End" type="edm:TAssociationEnd" minOccurs="2" maxOccurs="2"/>
      <xs:element name="ReferentialConstraint" type="edm:TConstraint" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TComplexType">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Property" type="edm:TComplexTypeProperty" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TTypeAttributes"/>
    <xs:attribute ref="cg:TypeAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TConstraint">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Principal" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
      <xs:element name="Dependent" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TReferentialConstraintRoleElement">
    <xs:sequence>
      <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="required"/>
  </xs:complexType>
  <xs:complexType name="TNavigationProperty">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Relationship" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="ToRole" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="FromRole" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="ContainsTarget" type="xs:boolean" use="optional"/>
    <xs:attribute ref="cg:GetterAccess" use="optional"/>
    <xs:attribute ref="cg:SetterAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEntityType">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Key" type="edm:TEntityKeyElement" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Property" type="edm:TEntityProperty" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="NavigationProperty" type="edm:TNavigationProperty" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TDerivableTypeAttributes"/>
    <xs:attribute name="OpenType" type="xs:boolean" use="optional" default="false"/>
    <xs:attribute ref="cg:TypeAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEnumTypeMember">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Value" type="xs:long" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEnumType">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Member" type="edm:TEnumTypeMember" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TTypeAttributes"/>
    <xs:attribute name="IsFlags" type="xs:boolean" use="optional"/>
    <xs:attribute name="UnderlyingType" type="edm:TPropertyType" use="optional"/>
    <xs:attribute ref="cg:TypeAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TFunction">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Parameter" type="edm:TFunctionParameter" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="DefiningExpression" type="edm:TCommandText" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ReturnType" type="edm:TFunctionReturnType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="ReturnType" type="edm:TWrappedFunctionType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TFunctionParameter">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:choice minOccurs="0" maxOccurs="1">
          <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
          <xs:element name="ReferenceType" type="edm:TReferenceType" minOccurs="0" maxOccurs="1"/>
          <xs:element name="RowType" type="edm:TRowType" minOccurs="0" maxOccurs="1"/>
        </xs:choice>
        <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TWrappedFunctionType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TCollectionType">
    <xs:sequence minOccurs="1" maxOccurs="1">
      <xs:choice minOccurs="0" maxOccurs="1">
        <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ReferenceType" type="edm:TReferenceType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="RowType" type="edm:TRowType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="TypeRef" type="edm:TTypeRef" minOccurs="0" maxOccurs="1"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="ElementType" type="edm:TUnwrappedFunctionType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TTypeRef">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TUnwrappedFunctionType" use="required"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TReferenceType">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TUnwrappedFunctionType" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TRowType">
    <xs:choice minOccurs="1" maxOccurs="unbounded">
      <xs:element name="Property" type="edm:TRowProperty" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:choice>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TRowProperty">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="1">
        <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ReferenceType" type="edm:TReferenceType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="RowType" type="edm:TRowType" minOccurs="0" maxOccurs="1"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TWrappedFunctionType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TFunctionReturnType">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="1">
        <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ReferenceType" type="edm:TReferenceType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="RowType" type="edm:TRowType" minOccurs="0" maxOccurs="1"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TFunctionImportParameterAndReturnType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TFunctionImportReturnType">
    <xs:sequence>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TFunctionImportParameterAndReturnType" use="optional"/>
    <!-- EntitySet and EntitySetPath are mutually exclusive. -->
    <xs:attribute name="EntitySet" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:attribute name="EntitySetPath" type="edm:TPath" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEntityKeyElement">
    <xs:sequence>
      <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TPropertyRef">
    <xs:sequence>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
  </xs:complexType>
  <xs:group name="GEmptyElementExtensibility">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>

  <!--
        Vocabulary annotations.
  -->
  <xs:complexType name="TAnnotations">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Target" type="edm:TPath" use="required"/>
    <xs:attribute name="Qualifier" type="xs:string" use="optional"/>
  </xs:complexType>
  <xs:complexType name="TValueAnnotation">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:group ref="edm:GExpression" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Term" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="Qualifier" type="xs:string" use="optional"/>
    <xs:attributeGroup ref="edm:GInlineExpressions"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TTypeAnnotation">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="PropertyValue" type="edm:TPropertyValue" minOccurs="0" maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Term" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="Qualifier" type="xs:string" use="optional"/>
    <xs:attributeGroup ref="edm:GInlineExpressions"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:group name="GExpression">
    <xs:sequence>
      <!-- Logically this group means one of the expressions plus an arbitrary number of CSDL annotations,
           syntactically we have to make the inner sequence unbounded to allow elements in any order. -->
      <xs:sequence maxOccurs="unbounded">
        <xs:choice>
          <xs:element name="String" type="edm:TStringConstantExpression" minOccurs="0"/>
          <xs:element name="Binary" type="edm:TBinaryConstantExpression" minOccurs="0"/>
          <xs:element name="Int" type="edm:TIntConstantExpression" minOccurs="0"/>
          <xs:element name="Float" type="edm:TFloatConstantExpression" minOccurs="0"/>
          <xs:element name="Guid" type="edm:TGuidConstantExpression" minOccurs="0"/>
          <xs:element name="Decimal" type="edm:TDecimalConstantExpression" minOccurs="0"/>
          <xs:element name="Bool" type="edm:TBoolConstantExpression" minOccurs="0"/>
          <xs:element name="Time" type="edm:TTimeConstantExpression" minOccurs="0"/>
          <xs:element name="DateTime" type="edm:TDateTimeConstantExpression" minOccurs="0"/>
          <xs:element name="DateTimeOffset" type="edm:TDateTimeOffsetConstantExpression" minOccurs="0"/>
          <xs:element name="EnumMemberReference" type="edm:TEnumMemberReferenceExpression" minOccurs="0"/>
          <xs:element name="Null" type="edm:TNullExpression" minOccurs="0"/>
          <xs:element name="Path" type="edm:TPathExpression" minOccurs="0"/>
          <xs:element name="If" type="edm:TIfExpression" minOccurs="0"/>
          <xs:element name="Record" type="edm:TRecordExpression" minOccurs="0"/>
          <xs:element name="Collection" type="edm:TCollectionExpression" minOccurs="0"/>
          <xs:element name="AssertType" type="edm:TAssertTypeExpression" minOccurs="0"/>
          <xs:element name="IsType" type="edm:TIsTypeExpression" minOccurs="0"/>
          <xs:element name="FunctionReference" type="edm:TFunctionReferenceExpression" minOccurs="0"/>
          <xs:element name="EntitySetReference" type="edm:TEntitySetReferenceExpression" minOccurs="0"/>
          <xs:element name="ParameterReference" type="edm:TParameterReferenceExpression" minOccurs="0"/>
          <xs:element name="Apply" type="edm:TApplyExpression" minOccurs="0"/>
          <xs:element name="PropertyReference" type="edm:TPropertyReferenceExpression" minOccurs="0"/>
          <xs:element name="ValueTermReference" type="edm:TValueTermReferenceExpression" minOccurs="0"/>
          <xs:element name="LabeledElement" type="edm:TLabeledElement" minOccurs="0"/>
          <xs:element name="LabeledElementReference" type="edm:TLabeledElementReferenceExpression" minOccurs="0"/>
        </xs:choice>
        <xs:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xs:sequence>
    </xs:sequence>
  </xs:group>
  <xs:attributeGroup name="GInlineExpressions">
    <xs:attribute name="String" type="xs:string" use="optional"/>
    <xs:attribute name="Binary" type="xs:hexBinary" use="optional"/>
    <xs:attribute name="Int" type="xs:integer" use="optional"/>
    <xs:attribute name="Float" type="xs:double" use="optional"/>
    <xs:attribute name="Guid" type="edm:TGuidLiteral" use="optional"/>
    <xs:attribute name="Decimal" type="xs:decimal" use="optional"/>
    <xs:attribute name="Bool" type="xs:boolean" use="optional"/>
    <xs:attribute name="Time" type="xs:time" use="optional"/>
    <xs:attribute name="DateTime" type="xs:dateTime" use="optional"/>
    <xs:attribute name="DateTimeOffset" type="xs:dateTime" use="optional"/>
    <xs:attribute name="Path" type="edm:TPath" use="optional"/>
  </xs:attributeGroup>
  <xs:complexType name="TStringConstantExpression">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TBinaryConstantExpression">
    <xs:simpleContent>
      <xs:extension base="xs:hexBinary">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TIntConstantExpression">
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TFloatConstantExpression">
    <xs:simpleContent>
      <xs:extension base="xs:double">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TGuidConstantExpression">
    <xs:simpleContent>
      <xs:extension base="edm:TGuidLiteral">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="TGuidLiteral">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TDecimalConstantExpression">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TBoolConstantExpression">
    <xs:simpleContent>
      <xs:extension base="xs:boolean">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TTimeConstantExpression">
    <xs:simpleContent>
      <xs:extension base="xs:time">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TDateTimeConstantExpression">
    <xs:simpleContent>
      <xs:extension base="xs:dateTime">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TDateTimeOffsetConstantExpression">
    <xs:simpleContent>
      <xs:extension base="xs:dateTime">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TEnumMemberReferenceExpression">
    <xs:simpleContent>
      <xs:extension base="edm:TPath">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TNullExpression">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TPathExpression">
    <xs:simpleContent>
      <xs:extension base="edm:TPath">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TIfExpression">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <!-- Test, IfTrue, IfFalse -->
      <xs:group ref="edm:GExpression" minOccurs="3" maxOccurs="3"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TRecordExpression">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="PropertyValue" type="edm:TPropertyValue" minOccurs="0" maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TUnwrappedFunctionType" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TPropertyValue">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:group ref="edm:GExpression" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Property" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attributeGroup ref="edm:GInlineExpressions"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TCollectionExpression">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:group ref="edm:GExpression" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TAssertTypeExpression">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice maxOccurs="unbounded">
        <xs:group ref="edm:GExpression" minOccurs="1" maxOccurs="1"/>
        <xs:choice minOccurs="0" maxOccurs="1">
          <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
          <xs:element name="ReferenceType" type="edm:TReferenceType" minOccurs="0" maxOccurs="1"/>
          <xs:element name="RowType" type="edm:TRowType" minOccurs="0" maxOccurs="1"/>
        </xs:choice>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TWrappedFunctionType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TIsTypeExpression">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice maxOccurs="unbounded">
        <xs:group ref="edm:GExpression" minOccurs="1" maxOccurs="1"/>
        <xs:choice minOccurs="0" maxOccurs="1">
          <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
          <xs:element name="ReferenceType" type="edm:TReferenceType" minOccurs="0" maxOccurs="1"/>
          <xs:element name="RowType" type="edm:TRowType" minOccurs="0" maxOccurs="1"/>
        </xs:choice>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TWrappedFunctionType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TFunctionReferenceExpression">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice maxOccurs="unbounded">
        <!-- Parameter is used to complete function signature: type only. -->
        <xs:element name="Parameter" maxOccurs="unbounded">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:choice minOccurs="0" maxOccurs="1">
                <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
                <xs:element name="ReferenceType" type="edm:TReferenceType" minOccurs="0" maxOccurs="1"/>
                <xs:element name="RowType" type="edm:TRowType" minOccurs="0" maxOccurs="1"/>
              </xs:choice>
              <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xs:choice>
            <xs:attribute name="Type" type="edm:TWrappedFunctionType" use="optional"/>
            <xs:anyAttribute namespace="##other" processContents="lax"/>
          </xs:complexType>
        </xs:element>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Function" type="edm:TQualifiedName" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEntitySetReferenceExpression">
    <xs:simpleContent>
      <xs:extension base="edm:TPath">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TParameterReferenceExpression">
    <xs:simpleContent>
      <xs:extension base="edm:TSimpleIdentifier">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TApplyExpression">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:group ref="edm:GExpression" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Function" type="edm:TQualifiedName" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TPropertyReferenceExpression">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:group ref="edm:GExpression" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Property" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TValueTermReferenceExpression">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:group ref="edm:GExpression" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Term" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="Qualifier" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TLabeledElement">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:group ref="edm:GExpression" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TLabeledElementReferenceExpression">
    <xs:simpleContent>
      <xs:extension base="edm:TSimpleIdentifier">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <!-- 
        base types  
    -->
  <xs:complexType name="TAssociationEnd">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:group ref="edm:TOperations" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:attribute name="Multiplicity" type="edm:TMultiplicity" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:group name="TOperations">
    <xs:choice>
      <xs:element name="OnDelete" type="edm:TOnAction" maxOccurs="1" minOccurs="0"/>
    </xs:choice>
  </xs:group>
  <xs:complexType name="TOnAction">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Action" type="edm:TAction" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEntityProperty">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TCommonPropertyAttributes"/>
    <xs:attribute ref="annotation:StoreGeneratedPattern" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TComplexTypeProperty">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TCommonPropertyAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TValueTerm">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ReferenceType" type="edm:TReferenceType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="RowType" type="edm:TRowType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TWrappedFunctionType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TFunctionImportParameter">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TFunctionImportParameterAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:attributeGroup name="TFacetAttributes">
    <xs:attribute name="Nullable" type="xs:boolean" use="optional"/>
    <xs:attribute name="DefaultValue" type="xs:string" use="optional"/>
    <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
    <xs:attribute name="FixedLength" type="edm:TIsFixedLengthFacet" use="optional"/>
    <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
    <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
    <xs:attribute name="Unicode" type="edm:TIsUnicodeFacet" use="optional"/>
    <xs:attribute name="Collation" type="edm:TCollationFacet" use="optional"/>
    <xs:attribute name="SRID" type="edm:TSridFacet" use="optional"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="TCommonPropertyAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TPropertyType" use="required"/>
    <xs:attribute name="Nullable" type="xs:boolean" default="true" use="optional"/>
    <xs:attribute name="DefaultValue" type="xs:string" use="optional"/>
    <!-- Start Facets -->
    <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
    <xs:attribute name="FixedLength" type="edm:TIsFixedLengthFacet" use="optional"/>
    <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
    <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
    <xs:attribute name="Unicode" type="edm:TIsUnicodeFacet" use="optional"/>
    <xs:attribute name="Collation" type="edm:TCollationFacet" use="optional"/>
    <xs:attribute name="SRID" type="edm:TSridFacet" use="optional"/>
    <!--End Facets -->
    <xs:attribute name="ConcurrencyMode" type="edm:TConcurrencyMode" use="optional"/>
    <xs:attribute ref="cg:SetterAccess" use="optional"/>
    <xs:attribute ref="cg:GetterAccess" use="optional"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TFunctionImportParameterAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TFunctionImportParameterAndReturnType" use="required"/>
    <xs:attribute name="Mode" type="edm:TParameterMode" use="optional"/>
    <xs:attribute name="Nullable" type="xs:boolean" use="optional"/>
    <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
    <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
    <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
    <xs:attribute name="SRID" type="edm:TSridFacet" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TFunctionImportAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="ReturnType" type="edm:TFunctionImportParameterAndReturnType" use="optional"/>
    <!-- EntitySet and EntitySetPath are mutually exclusive. -->
    <xs:attribute name="EntitySet" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:attribute name="EntitySetPath" type="xs:string" use="optional"/>
    <xs:attribute name="IsComposable" type="xs:boolean" use="optional" default="false"/>
    <xs:attribute name="IsSideEffecting" type="xs:boolean" use="optional"/>
    <xs:attribute name="IsBindable" type="xs:boolean" use="optional" default="false"/>
    <xs:attribute ref="cg:MethodAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TTypeAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TDerivableTypeAttributes">
    <xs:attributeGroup ref="edm:TTypeAttributes"/>
    <xs:attribute name="BaseType" type="edm:TQualifiedName" use="optional"/>
    <xs:attribute name="Abstract" type="xs:boolean" use="optional" default="false"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TEntitySetAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="EntityType" type="edm:TQualifiedName" use="required"/>
    <xs:attribute ref="cg:GetterAccess" use="optional"/>
  </xs:attributeGroup>
  <xs:element name="EntityContainer">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="FunctionImport">
            <xs:complexType>
              <xs:sequence>
                  <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                  <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element name="ReturnType" type="edm:TFunctionImportReturnType" minOccurs="0" maxOccurs="unbounded"/>
                    <xs:element name="Parameter" type="edm:TFunctionImportParameter" minOccurs="0" maxOccurs="unbounded"/>
                    <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
                    <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
                    <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                  </xs:choice>
              </xs:sequence>
              <xs:attributeGroup ref="edm:TFunctionImportAttributes"/>
            </xs:complexType>
          </xs:element>
          <xs:element name="EntitySet">
            <xs:complexType>
              <xs:sequence>
                  <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                  <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element name="ValueAnnotation" type="edm:TValueAnnotation" minOccurs="0" maxOccurs="unbounded"/>
                    <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation" minOccurs="0" maxOccurs="unbounded"/>
                    <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                  </xs:choice>
              </xs:sequence>
              <xs:attributeGroup ref="edm:TEntitySetAttributes"/>
              <xs:anyAttribute processContents="lax" namespace="##other"/>
            </xs:complexType>
          </xs:element>
          <xs:element name="AssociationSet">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                <xs:element name="End" minOccurs="0" maxOccurs="2">
                  <!-- 
                       1. The number of Ends has to match with ones defined in AssociationType 
                       2. Value for attribute Name should match the defined ones and EntitySet should be of the 
                          defined Entity Type in AssociationType 
                    -->
                  <xs:complexType>
                    <xs:sequence>
                      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
                    </xs:sequence>
                    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
                    <xs:attribute name="EntitySet" type="edm:TSimpleIdentifier" use="required"/>
                  </xs:complexType>
                </xs:element>
                <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
              <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
              <xs:attribute name="Association" type="edm:TQualifiedName" use="required"/>
              <xs:anyAttribute namespace="##other" processContents="lax"/>
            </xs:complexType>
          </xs:element>
          <xs:element name="ValueAnnotation" type="edm:TValueAnnotation"/>
          <xs:element name="TypeAnnotation" type="edm:TTypeAnnotation"/>
        </xs:choice>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
      <xs:attribute name="Extends" type="edm:TSimpleIdentifier" use="optional"/>
      <xs:attribute ref="cg:TypeAccess" use="optional"/>
      <xs:attribute ref="annotation:LazyLoadingEnabled" use="optional"/>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>
  <!-- 
    general  (more or less) purpose simple types 
    -->
  <xs:simpleType name="TParameterMode">
    <xs:restriction base="xs:token">
      <xs:enumeration value="In"/>
      <xs:enumeration value="Out"/>
      <xs:enumeration value="InOut"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TNamespaceName">
    <xs:restriction base="edm:TQualifiedName">
      <xs:maxLength value="512"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TQualifiedName">
    <xs:restriction base="xs:string">
      <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification  -->
      <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPath">
    <xs:restriction base="xs:string">
      <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '/' for path segment separation and
           the '.' for namespace qualification inside the segments. It also allows using parens and commas to designate function signatures
           such as "Namespace1.Namespace2.Function1(String,Collection(Int32))/Parameter1".-->
      <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}\(\)\,]{0,}([/\.][\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}\(\)\,]{0,}){0,}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TSimpleIdentifier">
    <xs:restriction base="xs:string">
      <xs:maxLength value="480"/>
      <!-- The below pattern represents the allowed identifiers in ECMA specification -->
      <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPropertyType">
    <xs:union memberTypes="edm:EDMSimpleType edm:TQualifiedName">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification and Collection() wrapper  -->
          <xs:pattern value="Collection\([\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}\)"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TCommandText">
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="preserve"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TFunctionImportParameterAndReturnType">
    <xs:union memberTypes="edm:EDMSimpleType edm:TQualifiedName">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="Collection\([^\. \t]{1,}(\.[^\. \t]{1,}){0,}\)"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TWrappedFunctionType">
    <xs:union memberTypes="edm:TQualifiedName">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="(Collection|Ref)\([^\. \t]{1,}(\.[^\. \t]{1,}){0,}\)"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TUnwrappedFunctionType">
    <xs:union memberTypes="edm:TQualifiedName">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="[^\. \t]{1,}(\.[^\. \t]{1,}){0,}"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TAction">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Cascade"/>
      <xs:enumeration value="None"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TMultiplicity">
    <xs:restriction base="xs:token">
      <xs:enumeration value="0..1"/>
      <xs:enumeration value="1"/>
      <xs:enumeration value="*"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TConcurrencyMode">
    <xs:restriction base="xs:token">
      <xs:enumeration value="None"/>
      <xs:enumeration value="Fixed"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
�n<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns:cg="http://schemas.microsoft.com/ado/2006/04/codegeneration" xmlns:edm="http://schemas.microsoft.com/ado/2008/09/edm" targetNamespace="http://schemas.microsoft.com/ado/2008/09/edm">
  <xs:annotation>
    <xs:documentation xml:lang="en">
            Common Data Model Schema Definition Language.
            Copyright (c) Microsoft Corp. All rights reserved.
        </xs:documentation>
  </xs:annotation>
  <xs:import namespace="http://schemas.microsoft.com/ado/2006/04/codegeneration" schemaLocation="System.Data.Resources.CodeGenerationSchema.xsd"/>
  <xs:import namespace="http://schemas.microsoft.com/ado/2009/02/edm/annotation" schemaLocation="System.Data.Resources.AnnotationSchema.xsd"/>
  <xs:element name="Schema" type="edm:TSchema"/>
  <xs:complexType name="TSchema">
    <xs:sequence>
      <xs:group ref="edm:GSchemaBodyElements" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Namespace" type="edm:TNamespaceName" use="required"/>
    <xs:attribute name="Alias" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:group name="GSchemaBodyElements">
    <xs:choice>
      <xs:element name="Using" type="edm:TUsing" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="Association" type="edm:TAssociation" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="ComplexType" type="edm:TComplexType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="EntityType" type="edm:TEntityType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="Function" type="edm:TFunction" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="edm:EntityContainer" minOccurs="1" maxOccurs="1"/>
    </xs:choice>
  </xs:group>
  <!-- EDM SimpleType instances for use by EDM Instance documents-->
  <xs:simpleType name="EDMSimpleType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Binary"/>
      <xs:enumeration value="Boolean"/>
      <xs:enumeration value="Byte"/>
      <xs:enumeration value="DateTime"/>
      <xs:enumeration value="DateTimeOffset"/>
      <xs:enumeration value="Time"/>
      <xs:enumeration value="Decimal"/>
      <xs:enumeration value="Double"/>
      <xs:enumeration value="Single"/>
      <xs:enumeration value="Guid"/>
      <xs:enumeration value="Int16"/>
      <xs:enumeration value="Int32"/>
      <xs:enumeration value="Int64"/>
      <xs:enumeration value="String"/>
      <xs:enumeration value="SByte"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TMax">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Max"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- Facets for Primitive types -->
  <xs:simpleType name="TMaxLengthFacet">
    <xs:union memberTypes="edm:TMax xs:nonNegativeInteger  "/>
  </xs:simpleType>
  <xs:simpleType name="TIsFixedLengthFacet">
    <xs:restriction base="xs:boolean"/>
  </xs:simpleType>
  <xs:simpleType name="TPrecisionFacet">
    <xs:restriction base="xs:nonNegativeInteger"/>
  </xs:simpleType>
  <xs:simpleType name="TScaleFacet">
    <xs:restriction base="xs:nonNegativeInteger"/>
  </xs:simpleType>
  <xs:simpleType name="TIsUnicodeFacet">
    <xs:restriction base="xs:boolean"/>
  </xs:simpleType>
  <xs:simpleType name="TCollationFacet">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <!--
        types at all levels
    -->
  <xs:complexType name="TDocumentation">
    <xs:annotation>
      <xs:documentation>The Documentation element is used to provide documentation of comments on the contents of the XML file.  It is valid under Schema, Type, Index and Relationship elements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Summary" type="edm:TText" minOccurs="0" maxOccurs="1"/>
      <xs:element name="LongDescription" type="edm:TText" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="TText" mixed="true">
    <xs:sequence>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="TXmlOrText" mixed="true">
    <xs:annotation>
      <xs:documentation>This type allows pretty much any content</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute processContents="skip" namespace="##any"/>
  </xs:complexType>
  <!-- 
        types of the top level elements 
    -->
  <xs:complexType name="TUsing">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Namespace" type="edm:TNamespaceName" use="required"/>
    <xs:attribute name="Alias" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TAssociation">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="End" type="edm:TAssociationEnd" minOccurs="2" maxOccurs="2"/>
      <xs:element name="ReferentialConstraint" type="edm:TConstraint" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TComplexType">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Property" type="edm:TComplexTypeProperty" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TTypeAttributes"/>
    <xs:attribute ref="cg:TypeAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TConstraint">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Principal" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
      <xs:element name="Dependent" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TReferentialConstraintRoleElement">
    <xs:sequence>
      <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="required"/>
  </xs:complexType>
  <xs:complexType name="TNavigationProperty">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Relationship" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="ToRole" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="FromRole" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute ref="cg:GetterAccess" use="optional"/>
    <xs:attribute ref="cg:SetterAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEntityType">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Key" type="edm:TEntityKeyElement" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Property" type="edm:TEntityProperty" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="NavigationProperty" type="edm:TNavigationProperty" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TDerivableTypeAttributes"/>
    <xs:attribute ref="cg:TypeAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  <xs:complexType name="TFunction">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Parameter" type="edm:TFunctionParameter" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="DefiningExpression" type="edm:TCommandText" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ReturnType" type="edm:TFunctionReturnType" minOccurs="0" maxOccurs="1"/>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="ReturnType" type="edm:TWrappedFunctionType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TFunctionParameter">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="1">
        <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ReferenceType" type="edm:TReferenceType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="RowType" type="edm:TRowType" minOccurs="0" maxOccurs="1"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TWrappedFunctionType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TCollectionType">
    <xs:sequence minOccurs="1" maxOccurs="1">
      <xs:choice minOccurs="0" maxOccurs="1">
        <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ReferenceType" type="edm:TReferenceType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="RowType" type="edm:TRowType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="TypeRef" type="edm:TTypeRef" minOccurs="0" maxOccurs="1"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="ElementType" type="edm:TUnwrappedFunctionType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TTypeRef">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TUnwrappedFunctionType" use="required"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TReferenceType">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TUnwrappedFunctionType" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TRowType">
    <xs:choice minOccurs="1" maxOccurs="unbounded">
      <xs:element name="Property" type="edm:TProperty" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:choice>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TProperty">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="1">
        <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ReferenceType" type="edm:TReferenceType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="RowType" type="edm:TRowType" minOccurs="0" maxOccurs="1"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TWrappedFunctionType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TFunctionReturnType">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="1">
        <xs:element name="CollectionType" type="edm:TCollectionType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ReferenceType" type="edm:TReferenceType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="RowType" type="edm:TRowType" minOccurs="0" maxOccurs="1"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TWrappedFunctionType" use="optional"/>
    <xs:attributeGroup ref="edm:TFacetAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  <xs:complexType name="TEntityKeyElement">
    <xs:sequence>
      <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TPropertyRef">
    <xs:sequence>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
  </xs:complexType>
  <xs:group name="GEmptyElementExtensibility">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>
  <!-- 
        base types  
    -->
  <xs:complexType name="TAssociationEnd">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:group ref="edm:TOperations" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:attribute name="Multiplicity" type="edm:TMultiplicity" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:group name="TOperations">
    <xs:choice>
      <xs:element name="OnDelete" type="edm:TOnAction" maxOccurs="1" minOccurs="0"/>
    </xs:choice>
  </xs:group>
  <xs:complexType name="TOnAction">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Action" type="edm:TAction" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEntityProperty">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TCommonPropertyAttributes"/>
    <xs:attribute ref="annotation:StoreGeneratedPattern" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TComplexTypeProperty">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TCommonPropertyAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TFunctionImportParameter">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TFunctionImportParameterAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:attributeGroup name="TFacetAttributes">
    <xs:attribute name="Nullable" type="xs:boolean" use="optional"/>
    <xs:attribute name="DefaultValue" type="xs:string" use="optional"/>
    <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
    <xs:attribute name="FixedLength" type="edm:TIsFixedLengthFacet" use="optional"/>
    <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
    <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
    <xs:attribute name="Unicode" type="edm:TIsUnicodeFacet" use="optional"/>
    <xs:attribute name="Collation" type="edm:TCollationFacet" use="optional"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="TCommonPropertyAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TPropertyType" use="required"/>
    <xs:attribute name="Nullable" type="xs:boolean" default="true" use="optional"/>
    <xs:attribute name="DefaultValue" type="xs:string" use="optional"/>
    <!-- Start Facets -->
    <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
    <xs:attribute name="FixedLength" type="edm:TIsFixedLengthFacet" use="optional"/>
    <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
    <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
    <xs:attribute name="Unicode" type="edm:TIsUnicodeFacet" use="optional"/>
    <xs:attribute name="Collation" type="edm:TCollationFacet" use="optional"/>
    <!--End Facets -->
    <xs:attribute name="ConcurrencyMode" type="edm:TConcurrencyMode" use="optional"/>
    <xs:attribute ref="cg:SetterAccess" use="optional"/>
    <xs:attribute ref="cg:GetterAccess" use="optional"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TFunctionImportParameterAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TPropertyType" use="required"/>
    <xs:attribute name="Mode" type="edm:TParameterMode" use="optional"/>
    <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
    <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
    <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TFunctionImportAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="ReturnType" type="edm:TFunctionType" use="optional"/>
    <xs:attribute name="EntitySet" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:attribute ref="cg:MethodAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TTypeAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TDerivableTypeAttributes">
    <xs:attributeGroup ref="edm:TTypeAttributes"/>
    <xs:attribute name="BaseType" type="edm:TQualifiedName" use="optional"/>
    <xs:attribute name="Abstract" type="xs:boolean" use="optional" default="false"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TEntitySetAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="EntityType" type="edm:TQualifiedName" use="required"/>
    <xs:attribute ref="cg:GetterAccess" use="optional"/>
  </xs:attributeGroup>
  <xs:element name="EntityContainer">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="FunctionImport">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                <xs:element name="Parameter" type="edm:TFunctionImportParameter" minOccurs="0" maxOccurs="unbounded"/>
                <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
              <xs:attributeGroup ref="edm:TFunctionImportAttributes"/>
            </xs:complexType>
          </xs:element>
          <xs:element name="EntitySet">
            <xs:complexType>
              <xs:sequence>
                <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
              </xs:sequence>
              <xs:attributeGroup ref="edm:TEntitySetAttributes"/>
              <xs:anyAttribute processContents="lax" namespace="##other"/>
            </xs:complexType>
          </xs:element>
          <xs:element name="AssociationSet">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                <xs:element name="End" minOccurs="0" maxOccurs="2">
                    <!-- 
                       1. The number of Ends has to match with ones defined in AssociationType 
                       2. Value for attribute Name should match the defined ones and EntitySet should be of the 
                          defined Entity Type in AssociationType 
                    -->
                  <xs:complexType>
                    <xs:sequence>
                      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
                    </xs:sequence>
                    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
                    <xs:attribute name="EntitySet" type="edm:TSimpleIdentifier" use="required"/>
                  </xs:complexType>
                </xs:element>
                <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
              <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
              <xs:attribute name="Association" type="edm:TQualifiedName" use="required"/>
              <xs:anyAttribute namespace="##other" processContents="lax"/>
            </xs:complexType>
          </xs:element>
        </xs:choice>
        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
      <xs:attribute name="Extends" type="edm:TSimpleIdentifier" use="optional"/>
      <xs:attribute ref="cg:TypeAccess" use="optional"/>
      <xs:attribute ref="annotation:LazyLoadingEnabled" use="optional"/>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>
  <!-- 
    general  (more or less) purpose simple types 
    -->
  <xs:simpleType name="TParameterMode">
    <xs:restriction base="xs:token">
      <xs:enumeration value="In"/>
      <xs:enumeration value="Out"/>
      <xs:enumeration value="InOut"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TNamespaceName">
    <xs:restriction base="edm:TQualifiedName">
      <xs:maxLength value="512"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TQualifiedName">
    <xs:restriction base="xs:string">
      <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification  -->
      <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TSimpleIdentifier">
    <xs:restriction base="xs:string">
      <xs:maxLength value="480"/>
      <!-- The below pattern represents the allowed identifiers in ECMA specification -->
      <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPropertyType">
    <xs:union memberTypes="edm:EDMSimpleType edm:TQualifiedName  ">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification  -->
          <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TCommandText">
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="preserve"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TFunctionType">
    <xs:union memberTypes="edm:TQualifiedName    ">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="Collection\([^ \t]{1,}(\.[^ \t]{1,}){0,}\)"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TWrappedFunctionType">
    <xs:union memberTypes="edm:TQualifiedName    ">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="(Collection|Ref)\([^ \t]{1,}(\.[^ \t]{1,}){0,}\)"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TUnwrappedFunctionType">
    <xs:union memberTypes="edm:TQualifiedName    ">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="[^ \t]{1,}(\.[^ \t]{1,}){0,}"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TAction">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Cascade"/>
      <xs:enumeration value="None"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TMultiplicity">
    <xs:restriction base="xs:token">
      <xs:enumeration value="0..1"/>
      <xs:enumeration value="1"/>
      <xs:enumeration value="*"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TConcurrencyMode">
    <xs:restriction base="xs:token">
      <xs:enumeration value="None"/>
      <xs:enumeration value="Fixed"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
]P<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cg="http://schemas.microsoft.com/ado/2006/04/codegeneration" xmlns:edm="http://schemas.microsoft.com/ado/2007/05/edm" targetNamespace="http://schemas.microsoft.com/ado/2007/05/edm">
  <xs:annotation>
    <xs:documentation xml:lang="en">
            Common Data Model Schema Definition Language.
            Copyright (c) Microsoft Corp. All rights reserved.
        </xs:documentation>
  </xs:annotation>
  <xs:import namespace="http://schemas.microsoft.com/ado/2006/04/codegeneration" schemaLocation="System.Data.Resources.CodeGenerationSchema.xsd"/>
  <xs:element name="Schema" type="edm:TSchema"/>
  <xs:complexType name="TSchema">
    <xs:sequence>
      <xs:group ref="edm:GSchemaBodyElements" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Namespace" type="edm:TNamespaceName" use="required"/>
    <xs:attribute name="Alias" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:group name="GSchemaBodyElements">
    <xs:choice>
      <xs:element name="Using" type="edm:TUsing" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="Association" type="edm:TAssociation" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="ComplexType" type="edm:TComplexType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="EntityType" type="edm:TEntityType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="edm:EntityContainer" minOccurs="1" maxOccurs="1"/>
    </xs:choice>
  </xs:group>
  <!-- EDM SimpleType instances for use by EDM Instance documents-->
  <xs:simpleType name="EDMSimpleType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Binary"/>
      <xs:enumeration value="Boolean"/>
      <xs:enumeration value="Byte"/>
      <xs:enumeration value="DateTime"/>
      <xs:enumeration value="DateTimeOffset"/>
      <xs:enumeration value="Time"/>
      <xs:enumeration value="Decimal"/>
      <xs:enumeration value="Double"/>
      <xs:enumeration value="Single"/>
      <xs:enumeration value="Guid"/>
      <xs:enumeration value="Int16"/>
      <xs:enumeration value="Int32"/>
      <xs:enumeration value="Int64"/>
      <xs:enumeration value="String"/>
      <xs:enumeration value="SByte"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TMax">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Max"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- Facets for Primitive types -->
  <xs:simpleType name="TMaxLengthFacet">
    <xs:union memberTypes="edm:TMax xs:nonNegativeInteger  "/>
  </xs:simpleType>
  <xs:simpleType name="TIsFixedLengthFacet">
    <xs:restriction base="xs:boolean"/>
  </xs:simpleType>
  <xs:simpleType name="TPrecisionFacet">
    <xs:restriction base="xs:nonNegativeInteger"/>
  </xs:simpleType>
  <xs:simpleType name="TScaleFacet">
    <xs:restriction base="xs:nonNegativeInteger"/>
  </xs:simpleType>
  <xs:simpleType name="TIsUnicodeFacet">
    <xs:restriction base="xs:boolean"/>
  </xs:simpleType>
  <xs:simpleType name="TCollationFacet">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <!--
        types at all levels
    -->
  <xs:complexType name="TDocumentation">
    <xs:annotation>
      <xs:documentation>The Documentation element is used to provide documentation of comments on the contents of the XML file.  It is valid under Schema, Type, Index and Relationship elements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Summary" type="edm:TText" minOccurs="0" maxOccurs="1"/>
      <xs:element name="LongDescription" type="edm:TText" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="TText" mixed="true">
    <xs:sequence>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="TXmlOrText" mixed="true">
    <xs:annotation>
      <xs:documentation>This type allows pretty much any content</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute processContents="skip" namespace="##any"/>
  </xs:complexType>
  <!-- 
        types of the top level elements 
    -->
  <xs:complexType name="TUsing">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Namespace" type="edm:TNamespaceName" use="required"/>
    <xs:attribute name="Alias" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TAssociation">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="End" type="edm:TAssociationEnd" minOccurs="2" maxOccurs="2"/>
      <xs:element name="ReferentialConstraint" type="edm:TConstraint" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TComplexType">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Property" type="edm:TComplexTypeProperty" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TDerivableTypeAttributes"/>
    <xs:attribute ref="cg:TypeAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TConstraint">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Principal" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
      <xs:element name="Dependent" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TReferentialConstraintRoleElement">
    <xs:sequence>
      <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="required"/>
  </xs:complexType>
  <xs:complexType name="TNavigationProperty">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Relationship" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="ToRole" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="FromRole" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute ref="cg:GetterAccess" use="optional"/>
    <xs:attribute ref="cg:SetterAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEntityType">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Key" type="edm:TEntityKeyElement" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Property" type="edm:TEntityProperty" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="NavigationProperty" type="edm:TNavigationProperty" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TDerivableTypeAttributes"/>
    <xs:attribute ref="cg:TypeAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEntityKeyElement">
    <xs:sequence>
      <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TPropertyRef">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
  </xs:complexType>
  <xs:group name="GEmptyElementExtensibility">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>
  <!-- 
        base types  
    -->
  <xs:complexType name="TAssociationEnd">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:group ref="edm:TOperations" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:attribute name="Multiplicity" type="edm:TMultiplicity" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:group name="TOperations">
    <xs:choice>
      <xs:element name="OnDelete" type="edm:TOnAction" maxOccurs="1" minOccurs="0"/>
    </xs:choice>
  </xs:group>
  <xs:complexType name="TOnAction">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Action" type="edm:TAction" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEntityProperty">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TCommonPropertyAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TComplexTypeProperty">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TCommonPropertyAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TFunctionImportParameter">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TFunctionImportParameterAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:attributeGroup name="TCommonPropertyAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TPropertyType" use="required"/>
    <xs:attribute name="Nullable" type="xs:boolean" default="true" use="optional"/>
    <xs:attribute name="DefaultValue" type="xs:string" use="optional"/>
    <xs:attribute name="CollectionKind" type="edm:TPropertyCollectionKind" use="optional"/>
    <!-- Start Facets -->
    <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
    <xs:attribute name="FixedLength" type="edm:TIsFixedLengthFacet" use="optional"/>
    <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
    <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
    <xs:attribute name="Unicode" type="edm:TIsUnicodeFacet" use="optional"/>
    <xs:attribute name="Collation" type="edm:TCollationFacet" use="optional"/>
    <!--End Facets -->
    <xs:attribute name="ConcurrencyMode" type="edm:TConcurrencyMode" use="optional"/>
    <xs:attribute ref="cg:SetterAccess" use="optional"/>
    <xs:attribute ref="cg:GetterAccess" use="optional"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TFunctionImportParameterAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TPropertyType" use="required"/>
    <xs:attribute name="Mode" type="edm:TParameterMode" use="optional"/>
    <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
    <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
    <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TFunctionImportAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="ReturnType" type="edm:TFunctionType" use="optional"/>
    <xs:attribute name="EntitySet" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:attribute ref="cg:MethodAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TTypeAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TDerivableTypeAttributes">
    <xs:attributeGroup ref="edm:TTypeAttributes"/>
    <xs:attribute name="BaseType" type="edm:TQualifiedName" use="optional"/>
    <xs:attribute name="Abstract" type="xs:boolean" use="optional" default="false"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TEntitySetAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="EntityType" type="edm:TQualifiedName" use="required"/>
    <xs:attribute ref="cg:GetterAccess" use="optional"/>
  </xs:attributeGroup>
  <xs:element name="EntityContainer">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="FunctionImport">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                <xs:element name="Parameter" type="edm:TFunctionImportParameter" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
              <xs:attributeGroup ref="edm:TFunctionImportAttributes"/>
            </xs:complexType>
          </xs:element>
          <xs:element name="EntitySet">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
              </xs:sequence>
              <xs:attributeGroup ref="edm:TEntitySetAttributes"/>
              <xs:anyAttribute processContents="lax" namespace="##other"/>
            </xs:complexType>
          </xs:element>
          <xs:element name="AssociationSet">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                <xs:element name="End" minOccurs="0" maxOccurs="2">
                  <!-- 
                       1. The number of Ends has to match with ones defined in AssociationType 
                       2. Value for attribute Name should match the defined ones and EntitySet should be of the 
                          defined Entity Type in AssociationType 
                    -->
                  <xs:complexType>
                    <xs:sequence>
                      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
                    </xs:sequence>
                    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
                    <xs:attribute name="EntitySet" type="edm:TSimpleIdentifier" use="required"/>
                  </xs:complexType>
                </xs:element>
                <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
              <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
              <xs:attribute name="Association" type="edm:TQualifiedName" use="required"/>
              <xs:anyAttribute namespace="##other" processContents="lax"/>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
      <xs:attribute name="Extends" type="edm:TSimpleIdentifier" use="optional"/>
    </xs:complexType>
  </xs:element>
  <!-- 
    general  (more or less) purpose simple types 
    -->
  <xs:simpleType name="TParameterMode">
    <xs:restriction base="xs:token">
      <xs:enumeration value="In"/>
      <xs:enumeration value="Out"/>
      <xs:enumeration value="InOut"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPropertyCollectionKind">
    <xs:restriction base="xs:token">
      <xs:enumeration value="None"/>
      <xs:enumeration value="List"/>
      <xs:enumeration value="Bag"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TNamespaceName">
    <xs:restriction base="edm:TQualifiedName">
      <xs:maxLength value="512"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TQualifiedName">
    <xs:restriction base="xs:string">
      <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification  -->
      <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TSimpleIdentifier">
    <xs:restriction base="xs:string">
      <xs:maxLength value="480"/>
      <!-- The below pattern represents the allowed identifiers in ECMA specification -->
      <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPropertyType">
    <xs:union memberTypes="edm:EDMSimpleType edm:TQualifiedName  ">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification  -->
          <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TFunctionType">
    <xs:union memberTypes="edm:TQualifiedName    ">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="Collection\([^ \t]{1,}(\.[^ \t]{1,}){0,}\)"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TAction">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Cascade"/>
      <xs:enumeration value="None"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TMultiplicity">
    <xs:restriction base="xs:token">
      <xs:enumeration value="0..1"/>
      <xs:enumeration value="1"/>
      <xs:enumeration value="*"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TConcurrencyMode">
    <xs:restriction base="xs:token">
      <xs:enumeration value="None"/>
      <xs:enumeration value="Fixed"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
O<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cg="http://schemas.microsoft.com/ado/2006/04/codegeneration" xmlns:edm="http://schemas.microsoft.com/ado/2006/04/edm" targetNamespace="http://schemas.microsoft.com/ado/2006/04/edm">
  <xs:annotation>
    <xs:documentation xml:lang="en">
            Common Data Model Schema Definition Language.
            Copyright (c) Microsoft Corp. All rights reserved.
        </xs:documentation>
  </xs:annotation>
  <xs:import namespace="http://schemas.microsoft.com/ado/2006/04/codegeneration" schemaLocation="System.Data.Resources.CodeGenerationSchema.xsd"/>
  <xs:element name="Schema" type="edm:TSchema"/>
  <xs:complexType name="TSchema">
    <xs:sequence>
      <xs:group ref="edm:GSchemaBodyElements" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Namespace" type="edm:TNamespaceName" use="required"/>
    <xs:attribute name="Alias" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:group name="GSchemaBodyElements">
    <xs:choice>
      <xs:element name="Using" type="edm:TUsing" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="Association" type="edm:TAssociation" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="ComplexType" type="edm:TComplexType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="EntityType" type="edm:TEntityType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="edm:EntityContainer" minOccurs="1" maxOccurs="1"/>
    </xs:choice>
  </xs:group>
  <!-- EDM SimpleType instances for use by EDM Instance documents-->
  <xs:simpleType name="EDMSimpleType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Binary"/>
      <xs:enumeration value="Boolean"/>
      <xs:enumeration value="Byte"/>
      <xs:enumeration value="DateTime"/>
      <xs:enumeration value="DateTimeOffset"/>
      <xs:enumeration value="Time"/>
      <xs:enumeration value="Decimal"/>
      <xs:enumeration value="Double"/>
      <xs:enumeration value="Single"/>
      <xs:enumeration value="Guid"/>
      <xs:enumeration value="Int16"/>
      <xs:enumeration value="Int32"/>
      <xs:enumeration value="Int64"/>
      <xs:enumeration value="String"/>
      <xs:enumeration value="SByte"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TMax">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Max"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- Facets for Primitive types -->
  <xs:simpleType name="TMaxLengthFacet">
    <xs:union memberTypes="edm:TMax xs:nonNegativeInteger  "/>
  </xs:simpleType>
  <xs:simpleType name="TIsFixedLengthFacet">
    <xs:restriction base="xs:boolean"/>
  </xs:simpleType>
  <xs:simpleType name="TPrecisionFacet">
    <xs:restriction base="xs:nonNegativeInteger"/>
  </xs:simpleType>
  <xs:simpleType name="TScaleFacet">
    <xs:restriction base="xs:nonNegativeInteger"/>
  </xs:simpleType>
  <xs:simpleType name="TIsUnicodeFacet">
    <xs:restriction base="xs:boolean"/>
  </xs:simpleType>
  <xs:simpleType name="TCollationFacet">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <!--
        types at all levels
    -->
  <xs:complexType name="TDocumentation">
    <xs:annotation>
      <xs:documentation>The Documentation element is used to provide documentation of comments on the contents of the XML file.  It is valid under Schema, Type, Index and Relationship elements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Summary" type="edm:TText" minOccurs="0" maxOccurs="1"/>
      <xs:element name="LongDescription" type="edm:TText" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="TText" mixed="true">
    <xs:sequence>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute processContents="lax" namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="TXmlOrText" mixed="true">
    <xs:annotation>
      <xs:documentation>This type allows pretty much any content</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute processContents="skip" namespace="##any"/>
  </xs:complexType>
  <!-- 
        types of the top level elements 
    -->
  <xs:complexType name="TUsing">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Namespace" type="edm:TNamespaceName" use="required"/>
    <xs:attribute name="Alias" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TAssociation">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="End" type="edm:TAssociationEnd" minOccurs="2" maxOccurs="2"/>
      <xs:element name="ReferentialConstraint" type="edm:TConstraint" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TComplexType">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Property" type="edm:TComplexTypeProperty" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TTypeAttributes"/>
    <xs:attribute ref="cg:TypeAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TConstraint">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Principal" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
      <xs:element name="Dependent" type="edm:TReferentialConstraintRoleElement" minOccurs="1" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TReferentialConstraintRoleElement">
    <xs:sequence>
      <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="required"/>
  </xs:complexType>
  <xs:complexType name="TNavigationProperty">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Relationship" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="ToRole" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="FromRole" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute ref="cg:GetterAccess" use="optional"/>
    <xs:attribute ref="cg:SetterAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEntityType">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Key" type="edm:TEntityKeyElement" minOccurs="0" maxOccurs="1"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Property" type="edm:TEntityProperty" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="NavigationProperty" type="edm:TNavigationProperty" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TDerivableTypeAttributes"/>
    <xs:attribute ref="cg:TypeAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEntityKeyElement">
    <xs:sequence>
      <xs:element name="PropertyRef" type="edm:TPropertyRef" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TPropertyRef">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
  </xs:complexType>
  <xs:group name="GEmptyElementExtensibility">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>
  <!-- 
        base types  
    -->
  <xs:complexType name="TAssociationEnd">
    <xs:sequence>
      <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
      <xs:group ref="edm:TOperations" minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Type" type="edm:TQualifiedName" use="required"/>
    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:attribute name="Multiplicity" type="edm:TMultiplicity" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:group name="TOperations">
    <xs:choice>
      <xs:element name="OnDelete" type="edm:TOnAction" maxOccurs="1" minOccurs="0"/>
    </xs:choice>
  </xs:group>
  <xs:complexType name="TOnAction">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Action" type="edm:TAction" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TEntityProperty">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TCommonPropertyAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TComplexTypeProperty">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TCommonPropertyAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:complexType name="TFunctionImportParameter">
    <xs:sequence>
      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attributeGroup ref="edm:TFunctionImportParameterAttributes"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>
  <xs:attributeGroup name="TCommonPropertyAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TPropertyType" use="required"/>
    <xs:attribute name="Nullable" type="xs:boolean" default="true" use="optional"/>
    <xs:attribute name="DefaultValue" type="xs:string" use="optional"/>
    <!-- Start Facets -->
    <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
    <xs:attribute name="FixedLength" type="edm:TIsFixedLengthFacet" use="optional"/>
    <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
    <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
    <xs:attribute name="Unicode" type="edm:TIsUnicodeFacet" use="optional"/>
    <xs:attribute name="Collation" type="edm:TCollationFacet" use="optional"/>
    <!--End Facets -->
    <xs:attribute name="ConcurrencyMode" type="edm:TConcurrencyMode" use="optional"/>
    <xs:attribute ref="cg:SetterAccess" use="optional"/>
    <xs:attribute ref="cg:GetterAccess" use="optional"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TFunctionImportParameterAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Type" type="edm:TPropertyType" use="required"/>
    <xs:attribute name="Mode" type="edm:TParameterMode" use="optional"/>
    <xs:attribute name="MaxLength" type="edm:TMaxLengthFacet" use="optional"/>
    <xs:attribute name="Precision" type="edm:TPrecisionFacet" use="optional"/>
    <xs:attribute name="Scale" type="edm:TScaleFacet" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TFunctionImportAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="ReturnType" type="edm:TFunctionType" use="optional"/>
    <xs:attribute name="EntitySet" type="edm:TSimpleIdentifier" use="optional"/>
    <xs:attribute ref="cg:MethodAccess" use="optional"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TTypeAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TDerivableTypeAttributes">
    <xs:attributeGroup ref="edm:TTypeAttributes"/>
    <xs:attribute name="BaseType" type="edm:TQualifiedName" use="optional"/>
    <xs:attribute name="Abstract" type="xs:boolean" use="optional" default="false"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="TEntitySetAttributes">
    <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
    <xs:attribute name="EntityType" type="edm:TQualifiedName" use="required"/>
    <xs:attribute ref="cg:GetterAccess" use="optional"/>
  </xs:attributeGroup>
  <xs:element name="EntityContainer">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="FunctionImport">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                <xs:element name="Parameter" type="edm:TFunctionImportParameter" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
              <xs:attributeGroup ref="edm:TFunctionImportAttributes"/>
            </xs:complexType>
          </xs:element>
          <xs:element name="EntitySet">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
              </xs:sequence>
              <xs:attributeGroup ref="edm:TEntitySetAttributes"/>
              <xs:anyAttribute processContents="lax" namespace="##other"/>
            </xs:complexType>
          </xs:element>
          <xs:element name="AssociationSet">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Documentation" type="edm:TDocumentation" minOccurs="0" maxOccurs="1"/>
                <xs:element name="End" minOccurs="0" maxOccurs="2">
                    <!-- 
                       1. The number of Ends has to match with ones defined in AssociationType 
                       2. Value for attribute Name should match the defined ones and EntitySet should be of the 
                          defined Entity Type in AssociationType 
                    -->
                  <xs:complexType>
                    <xs:sequence>
                      <xs:group ref="edm:GEmptyElementExtensibility" minOccurs="0" maxOccurs="1"/>
                    </xs:sequence>
                    <xs:attribute name="Role" type="edm:TSimpleIdentifier" use="optional"/>
                    <xs:attribute name="EntitySet" type="edm:TSimpleIdentifier" use="required"/>
                  </xs:complexType>
                </xs:element>
                <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
              <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
              <xs:attribute name="Association" type="edm:TQualifiedName" use="required"/>
              <xs:anyAttribute namespace="##other" processContents="lax"/>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="Name" type="edm:TSimpleIdentifier" use="required"/>
      <xs:attribute name="Extends" type="edm:TSimpleIdentifier" use="optional"/>
    </xs:complexType>
  </xs:element>
  <!-- 
    general  (more or less) purpose simple types 
    -->
  <xs:simpleType name="TParameterMode">
    <xs:restriction base="xs:token">
      <xs:enumeration value="In"/>
      <xs:enumeration value="Out"/>
      <xs:enumeration value="InOut"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TNamespaceName">
    <xs:restriction base="edm:TQualifiedName">
      <xs:maxLength value="512"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TQualifiedName">
    <xs:restriction base="xs:string">
      <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification  -->
      <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TSimpleIdentifier">
    <xs:restriction base="xs:string">
      <xs:maxLength value="480"/>
      <!-- The below pattern represents the allowed identifiers in ECMA specification -->
      <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPropertyType">
    <xs:union memberTypes="edm:EDMSimpleType edm:TQualifiedName  ">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification  -->
          <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TFunctionType">
    <xs:union memberTypes="edm:TQualifiedName    ">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="Collection\([^ \t]{1,}(\.[^ \t]{1,}){0,}\)"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="TAction">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Cascade"/>
      <xs:enumeration value="None"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TMultiplicity">
    <xs:restriction base="xs:token">
      <xs:enumeration value="0..1"/>
      <xs:enumeration value="1"/>
      <xs:enumeration value="*"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TConcurrencyMode">
    <xs:restriction base="xs:token">
      <xs:enumeration value="None"/>
      <xs:enumeration value="Fixed"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
�<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="CodeGenerationSchema" targetNamespace="http://schemas.microsoft.com/ado/2006/04/codegeneration" elementFormDefault="unqualified" xmlns="http://schemas.microsoft.com/ado/2006/04/codegeneration" xmlns:xs="http://www.w3.org/2001/XMLSchema">


    <xs:attribute name="SetterAccess" type="TAccess"/>
    <xs:attribute name="GetterAccess" type="TAccess"/>
    <xs:attribute name="TypeAccess" type="TPublicOrInternalAccess"/>
    <xs:attribute name="MethodAccess" type="TAccess"/>
    <xs:attribute name="ExternalTypeName" type="xs:string"/>
  
    <xs:simpleType name="TAccess">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Public"/>
            <xs:enumeration value="Internal"/>
			      <xs:enumeration value="Protected"/>
            <xs:enumeration value="Private"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TPublicOrInternalAccess">
        <xs:restriction base="TAccess">
            <xs:enumeration value="Public"/>
            <xs:enumeration value="Internal"/>
        </xs:restriction>
    </xs:simpleType>

</xs:schema>
%D<?xml version="1.0"?>
<!-- XSD for CS (CDM <-> Storage) space mapping. -->
<xs:schema xmlns:tns="http://schemas.microsoft.com/ado/2009/11/mapping/cs" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/ado/2009/11/mapping/cs" xmlns:csmsl="http://schemas.microsoft.com/ado/2009/11/mapping/cs" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:annotation>
    <xs:documentation xml:lang="en">
      Common Data Model Schema Definition Language.
      Copyright (c) Microsoft Corp. All rights reserved.
    </xs:documentation>
  </xs:annotation>

  <!-- Root Level element for CS mapping -->
  <xs:element name="Mapping" type="csmsl:TMapping"/>

  <!-- Type of root level mapping elements -->
  <xs:complexType name="TMapping">
    <!-- Top level mapping element can have Alias elements followed by one EntityContainerMapping element. -->
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Alias" type="csmsl:TAlias"/>
      <xs:element name="EntityContainerMapping" type="csmsl:TEntityContainerMapping"/>
    </xs:sequence>
    <!-- Space represents the space that the mapping occurs. For CS mapping it always has to be "C-S"-->
    <xs:attribute name="Space" type="csmsl:TSpace" use="required" fixed="C-S"/>
  </xs:complexType>

  <!-- Type for Alias element -->
  <xs:complexType name="TAlias">
    <xs:attribute name="Key" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Value" type="xs:string" use="required"/>
  </xs:complexType>

  <!-- Type for EntityContainerMapping element-->
  <xs:complexType name="TEntityContainerMapping">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element name="EntitySetMapping" type="csmsl:TEntitySetMapping"/>
      <xs:element name="AssociationSetMapping" type="csmsl:TAssociationSetMapping"/>
      <xs:element name="FunctionImportMapping" type="csmsl:TFunctionImportMapping"/>
    </xs:choice>
    <xs:attribute name="CdmEntityContainer" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="StorageEntityContainer" type="xs:string" use="required"/>
    <xs:attribute name="GenerateUpdateViews" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for FunctionImportMapping element -->
  <xs:complexType name="TFunctionImportMapping">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ResultMapping" type="csmsl:TFunctionImportMappingResultMapping"/>
    </xs:sequence>
    <xs:attribute name="FunctionName" type="xs:string" use="required"/>
    <xs:attribute name="FunctionImportName" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Type for FunctionImportMapping/ResultMapping element -->
  <xs:complexType name="TFunctionImportMappingResultMapping">
    <xs:choice>
      <xs:element maxOccurs="unbounded" name="EntityTypeMapping" type="csmsl:TFunctionImportEntityTypeMapping"/>
      <xs:element name="ComplexTypeMapping" type="csmsl:TFunctionImportComplexTypeMapping"/>
    </xs:choice>
  </xs:complexType>

  <!-- Type for (FunctionMapping|FunctionImportMapping)/EntityTypeMapping element -->
  <xs:complexType name="TFunctionImportEntityTypeMapping">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element name="ScalarProperty" type="csmsl:TScalarProperty"/>
      <xs:element name="Condition" type="csmsl:TFunctionImportCondition"/>
    </xs:choice>
    <xs:attribute name="TypeName" type="xs:string" use="required"/>
  </xs:complexType>

  <!-- Type for FunctionImportMapping/Condition element-->
  <xs:complexType name="TFunctionImportCondition">
    <xs:attribute name="Value" type="xs:string" use="optional"/>
    <xs:attribute name="ColumnName" type="xs:string" use="required"/>
    <xs:attribute name="IsNull" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for FunctionImportMapping/ComplexTypeMapping element -->
  <xs:complexType name="TFunctionImportComplexTypeMapping">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ScalarProperty" type="csmsl:TScalarProperty"/>
    </xs:sequence>
    <xs:attribute name="TypeName" type="xs:string" use="required"/>
  </xs:complexType>

  <!-- Type for EntitySet mapping element -->
  <xs:complexType name="TEntitySetMapping">
    <xs:choice>
      <xs:choice>
        <xs:sequence>
          <xs:element name="QueryView" type="csmsl:TQueryView" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element name="EntityTypeMapping" type="csmsl:TEntityTypeMapping" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:sequence>
          <xs:element name="MappingFragment" type="csmsl:TMappingFragment" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:choice>
      <xs:group ref="csmsl:TPropertyGroup"/>
    </xs:choice>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="TypeName" type="xs:string" use="optional"/>
    <xs:attribute name="StoreEntitySet" type="xs:string" use="optional"/>
    <xs:attribute name="MakeColumnsDistinct" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for AssociationSetMapping element -->
  <xs:complexType name="TAssociationSetMapping">
    <xs:sequence>
      <xs:element name="QueryView" type="xs:string" minOccurs="0"/>
      <xs:element name="EndProperty" type="csmsl:TEndProperty" minOccurs="0" maxOccurs="2"/>
      <xs:element name="Condition" type="csmsl:TCondition" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="ModificationFunctionMapping" type="csmsl:TAssociationSetModificationFunctionMapping" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="TypeName" type="csmsl:TQualifiedName" use="optional"/>
    <xs:attribute name="StoreEntitySet" type="xs:string" use="optional"/>
  </xs:complexType>

  <!-- Type for QueryView element -->
  <xs:complexType name="TQueryView">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="TypeName" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <!-- Type for EntityTypeMapping element-->
  <xs:complexType name="TEntityTypeMapping">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="MappingFragment" type="csmsl:TMappingFragment"/>
      <xs:element minOccurs="0" name="ModificationFunctionMapping" type="csmsl:TEntityTypeModificationFunctionMapping"/>
    </xs:sequence>
    <xs:attribute name="TypeName" type="xs:string" use="required"/>
  </xs:complexType>

  <!-- Type for MappingFragment element -->
  <xs:complexType name="TMappingFragment">
    <xs:group ref="csmsl:TPropertyGroup"/>
    <xs:attribute name="StoreEntitySet" type="xs:string" use="required"/>
    <xs:attribute name="MakeColumnsDistinct" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for EntityTypeMapping/ModificationFunctionMapping element -->
  <xs:complexType name="TEntityTypeModificationFunctionMapping">
    <xs:all>
      <xs:element minOccurs="0" name="DeleteFunction" type="csmsl:TEntityTypeModificationFunction"/>
      <xs:element minOccurs="0" name="InsertFunction" type="csmsl:TEntityTypeModificationFunctionWithResult"/>
      <xs:element minOccurs="0" name="UpdateFunction" type="csmsl:TEntityTypeModificationFunctionWithResult"/>
    </xs:all>
  </xs:complexType>

  <!-- Type for AssociationSetMapping/ModificationFunctionMapping element -->
  <xs:complexType name="TAssociationSetModificationFunctionMapping">
    <xs:all>
      <xs:element minOccurs="0" name="DeleteFunction" type="csmsl:TAssociationSetModificationFunction"/>
      <xs:element minOccurs="0" name="InsertFunction" type="csmsl:TAssociationSetModificationFunction"/>
    </xs:all>
  </xs:complexType>

  <!-- Type for entity type DeleteFunction -->
  <xs:complexType name="TEntityTypeModificationFunction">
    <xs:group ref="csmsl:TEntityTypeModificationFunctionMappingPropertyGroup"/>
    <xs:attribute name="FunctionName" type="xs:string" use="required"/>
    <xs:attribute name="RowsAffectedParameter" type="xs:string" use="optional"/>
  </xs:complexType>

  <!-- Extensions to modification function for entity type InsertFunction and UpdateFunction -->
  <xs:complexType name="TEntityTypeModificationFunctionWithResult">
    <xs:complexContent>
      <xs:extension base="csmsl:TEntityTypeModificationFunction">
        <xs:group ref="csmsl:TResultBindingGroup"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <!-- Type for association set DeleteFunction and InsertFunction -->
  <xs:complexType name="TAssociationSetModificationFunction">
    <xs:group ref="csmsl:TAssociationSetModificationFunctionMappingPropertyGroup"/>
    <xs:attribute name="FunctionName" type="xs:string" use="required"/>
    <xs:attribute name="RowsAffectedParameter" type="xs:string" use="optional"/>
  </xs:complexType>

  <!-- Grouping for entity type function mappings -->
  <xs:group name="TEntityTypeModificationFunctionMappingPropertyGroup">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="0" name="ScalarProperty" type="csmsl:TModificationFunctionMappingScalarProperty"/>
        <xs:element minOccurs="0" name="AssociationEnd" type="csmsl:TModificationFunctionMappingAssociationEnd"/>
        <xs:element minOccurs="0" name="ComplexProperty" type="csmsl:TModificationFunctionMappingComplexProperty"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <!-- Grouping for entity type function mappings -->
  <xs:group name="TAssociationSetModificationFunctionMappingPropertyGroup">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="EndProperty" type="csmsl:TModificationFunctionMappingEndProperty"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <!-- Type for function mapping end property -->
  <xs:complexType name="TModificationFunctionMappingEndProperty">
    <xs:group ref="csmsl:TModificationFunctionMappingAssociationEndPropertyGroup"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Type for function mapping scalar property -->
  <xs:complexType name="TModificationFunctionMappingScalarProperty">
    <xs:attribute name="ParameterName" type="xs:string" use="required"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Version" type="csmsl:TVersion" use="optional"/>
  </xs:complexType>

  <!-- Type for function mapping result binding -->
  <xs:complexType name="TResultBinding">
    <xs:attribute name="ColumnName" type="xs:string" use="required"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Type for function mapping association end -->
  <xs:complexType name="TModificationFunctionMappingAssociationEnd">
    <xs:group ref="csmsl:TModificationFunctionMappingAssociationEndPropertyGroup"/>
    <xs:attribute name="AssociationSet" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="From" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="To" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Grouping for property bindings in function mapping end property -->
  <xs:group name="TModificationFunctionMappingAssociationEndPropertyGroup">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ScalarProperty" type="csmsl:TModificationFunctionMappingScalarProperty"/>
    </xs:sequence>
  </xs:group>

  <!-- Type for function mapping complex property -->
  <xs:complexType name="TModificationFunctionMappingComplexProperty">
    <xs:group ref="csmsl:TModificationFunctionMappingComplexPropertyPropertyGroup"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="TypeName" type="xs:string" use="required"/>
  </xs:complexType>

  <!-- Grouping for result bindings in function mappings -->
  <xs:group name="TResultBindingGroup">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ResultBinding" type="csmsl:TResultBinding"/>
    </xs:sequence>
  </xs:group>

  <!-- Grouping for property bindings in function mapping association end -->
  <xs:group name="TModificationFunctionMappingComplexPropertyPropertyGroup">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="0" name="ScalarProperty" type="csmsl:TModificationFunctionMappingScalarProperty"/>
        <xs:element minOccurs="0" name="ComplexProperty" type="csmsl:TModificationFunctionMappingComplexProperty"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <!-- Grouping these elements so that they can be reused
       These elements represent the property group
       that can either directly reside unser EntitySet, EntityType
       or MappingFragment-->
  <xs:group name="TPropertyGroup">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="0" name="ComplexProperty" type="csmsl:TComplexProperty"/>
        <xs:element minOccurs="0" name="ScalarProperty" type="csmsl:TScalarProperty"/>
        <xs:element minOccurs="0" name="Condition" type="csmsl:TCondition"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <!-- Type for Condition Element-->
  <xs:complexType name="TCondition">
    <xs:attribute name="Value" type="xs:string" use="optional"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="optional"/>
    <xs:attribute name="ColumnName" type="xs:string" use="optional"/>
    <xs:attribute name="IsNull" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for End Property Elements in Association Maps -->
  <xs:complexType name="TEndProperty">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" name="ScalarProperty" type="csmsl:TScalarProperty"/>
    </xs:sequence>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Type for Complex Property Map elements-->
  <xs:complexType name="TComplexProperty">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="ScalarProperty" type="csmsl:TScalarProperty"/>
        <xs:element name="ComplexProperty" type="csmsl:TComplexProperty"/>
        <xs:element name="ComplexTypeMapping" type="csmsl:TComplexTypeMapping"/>
        <xs:element name="Condition" type="csmsl:TCondition"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="TypeName" type="xs:string" use="optional"/>
    <xs:attribute name="IsPartial" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for Complex Type mapping element-->
  <xs:complexType name="TComplexTypeMapping">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="ScalarProperty" type="csmsl:TScalarProperty"/>
        <xs:element name="ComplexProperty" type="csmsl:TComplexProperty"/>
        <xs:element name="Condition" type="csmsl:TCondition"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="TypeName" type="xs:string" use="optional"/>
    <xs:attribute name="IsPartial" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for ScalarProperty Element-->
  <xs:complexType name="TScalarProperty">
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="ColumnName" type="xs:string" use="required"/>
  </xs:complexType>

  <!--Definition for SimpleIdentifier
      This is the same definition that is being used in the CSDL XSD
      -->
  <xs:simpleType name="TSimpleIdentifier">
    <xs:restriction base="xs:token">
      <!-- The below pattern represents the allowed identifiers in ECMA specification -->
      <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}"/>
    </xs:restriction>
  </xs:simpleType>

  <!--Definition for QualifiedName. QualifiedName is SimpleIdentifiers with '.'
      allowed. This is the same definition that is being used in the CSDL XSD
      -->
  <xs:simpleType name="TQualifiedName">
    <xs:restriction base="xs:token">
      <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification  -->
      <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
    </xs:restriction>
  </xs:simpleType>

  <!--Definition for Version, which can 'original' or 'current' as its value-->
  <xs:simpleType name="TVersion">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Original"/>
      <xs:enumeration value="Current"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Type fopr Space or Type Attribute -->
  <xs:simpleType name="TSpace">
    <xs:restriction base="xs:token">
      <xs:enumeration value="C-S"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
�E<?xml version="1.0"?>
<!-- XSD for CS( CDM <-> Storage ) space mapping. -->
<xs:schema xmlns:tns="http://schemas.microsoft.com/ado/2008/09/mapping/cs" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/ado/2008/09/mapping/cs" xmlns:csmsl="http://schemas.microsoft.com/ado/2008/09/mapping/cs" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:annotation>
    <xs:documentation xml:lang="en">
      Common Data Model Schema Definition Language.
      Copyright (c) Microsoft Corp. All rights reserved.
    </xs:documentation>
  </xs:annotation>
  
  <!-- Root Level element for CS Mapping -->
  <xs:element name="Mapping" type="csmsl:TMapping"/>

  <!-- Type of Root level mapping elements-->
  <xs:complexType name="TMapping">
    <!-- Top level Mapping element can have Alias elements followed by 
         EntityContainer Mapping element-->
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Alias" type="csmsl:TAlias"/>
      <!-- For now we will allow only one EntityContainerMapping to be mapped per MSL File.-->
      <xs:element name="EntityContainerMapping" type="csmsl:TEntityContainerMapping"/>
    </xs:sequence>
    <!-- Space represents the space that the mapping occurs. For CS Mapping
         it always has to be "C-S"-->
    <xs:attribute name="Space" type="csmsl:TSpace" use="required" fixed="C-S"/>
  </xs:complexType>

  <!-- Type for QueryView Element -->
  <xs:complexType name="TQueryView">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="TypeName" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>




  <!-- Type for Alias Element-->
  <xs:complexType name="TAlias">
    <xs:attribute name="Key" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Value" type="xs:string" use="required"/>
  </xs:complexType>

  <!-- Type for EntityContainerMapping Element-->
  <xs:complexType name="TEntityContainerMapping">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="0" name="EntitySetMapping" type="csmsl:TEntitySetMapping"/>
        <xs:element minOccurs="0" name="AssociationSetMapping" type="csmsl:TAssociationSetMapping"/>
        <xs:element minOccurs="0" name="FunctionImportMapping" type="csmsl:TFunctionImportMapping"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="CdmEntityContainer" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="StorageEntityContainer" type="xs:string" use="required"/>
    <xs:attribute name="GenerateUpdateViews" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for FunctionImport Mapping element -->
  <xs:complexType name="TFunctionImportMapping">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="ResultMapping" type="csmsl:TFunctionImportMappingResultMapping"/>
    </xs:sequence>
    <xs:attribute name="FunctionName" type="xs:string" use="required"/>
    <xs:attribute name="FunctionImportName" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>
  
  <!-- Type for FunctionImport/ResultMapping element -->
  <xs:complexType name="TFunctionImportMappingResultMapping">
    <xs:choice>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="EntityTypeMapping" type="csmsl:TFunctionImportEntityTypeMapping"/>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ComplexTypeMapping" type="csmsl:TFunctionImportComplexTypeMapping"/>
    </xs:choice>    
  </xs:complexType>

  <!-- Type for FunctionImport EntityTypeMapping element-->
  <xs:complexType name="TFunctionImportComplexTypeMapping">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ScalarProperty" type="csmsl:TScalarProperty"/>
    </xs:sequence>
    <xs:attribute name="TypeName" type="xs:string" use="required"/>
  </xs:complexType>
  
  <!-- Type for EntitySet Mapping element-->
  <xs:complexType name="TEntitySetMapping">
    <xs:choice>
      <xs:choice>
        <xs:sequence>
          <xs:element name="QueryView" type="csmsl:TQueryView" minOccurs="0" maxOccurs="unbounded"/>
    
          <xs:element name="EntityTypeMapping" type="csmsl:TEntityTypeMapping" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:sequence>
          <xs:element name="MappingFragment" type="csmsl:TMappingFragment" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:choice>
      <xs:group ref="csmsl:TPropertyGroup"/>
    </xs:choice>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="TypeName" type="xs:string" use="optional"/>
    <xs:attribute name="StoreEntitySet" type="xs:string" use="optional"/>
    <xs:attribute name="MakeColumnsDistinct" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for AssociationSetMapping element-->
  <xs:complexType name="TAssociationSetMapping">
    <xs:sequence>
      <xs:element name="QueryView" type="xs:string" minOccurs="0" maxOccurs="1"/>          
      <xs:element name="EndProperty" type="csmsl:TEndProperty" minOccurs="0" maxOccurs="2"/>
      <xs:element name="Condition" type="csmsl:TCondition" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="ModificationFunctionMapping" type="csmsl:TAssociationSetModificationFunctionMapping" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="TypeName" type="csmsl:TQualifiedName" use="optional"/>
    <xs:attribute name="StoreEntitySet" type="xs:string" use="optional"/>
  </xs:complexType>

  <!-- Type for EntityTypeMapping element-->
  <xs:complexType name="TEntityTypeMapping">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="MappingFragment" type="csmsl:TMappingFragment"/>
      <xs:element minOccurs="0" maxOccurs="1" name="ModificationFunctionMapping" type="csmsl:TEntityTypeModificationFunctionMapping"/>
    </xs:sequence>
    <xs:attribute name="TypeName" type="xs:string" use="required"/>
  </xs:complexType>

  <!-- Type for FunctionImport EntityTypeMapping element-->
  <xs:complexType name="TFunctionImportEntityTypeMapping">
    <xs:choice maxOccurs="unbounded">
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ScalarProperty" type="csmsl:TScalarProperty"/>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Condition" type="csmsl:TFunctionImportCondition"/>
    </xs:choice>
    <xs:attribute name="TypeName" type="xs:string" use="required"/>
  </xs:complexType>
  
  <!-- Type for MappingFragment Element-->
  <xs:complexType name="TMappingFragment">
    <xs:group ref="csmsl:TPropertyGroup" minOccurs="1" maxOccurs="1"/>
    <xs:attribute name="StoreEntitySet" type="xs:string" use="required"/>
    <xs:attribute name="MakeColumnsDistinct" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for EntityTypeMapping/ModificationFunctionMapping element -->
  <xs:complexType name="TEntityTypeModificationFunctionMapping">
    <xs:all>
      <xs:element minOccurs="0" maxOccurs="1" name="DeleteFunction" type="csmsl:TEntityTypeModificationFunction"/>
      <xs:element minOccurs="0" maxOccurs="1" name="InsertFunction" type="csmsl:TEntityTypeModificationFunctionWithResult"/>
      <xs:element minOccurs="0" maxOccurs="1" name="UpdateFunction" type="csmsl:TEntityTypeModificationFunctionWithResult"/>
    </xs:all>
  </xs:complexType>
  
  <!-- Type for AssociationSetMapping/ModificationFunctionMapping element -->
  <xs:complexType name="TAssociationSetModificationFunctionMapping">
    <xs:all>
      <xs:element minOccurs="0" maxOccurs="1" name="DeleteFunction" type="csmsl:TAssociationSetModificationFunction"/>
      <xs:element minOccurs="0" maxOccurs="1" name="InsertFunction" type="csmsl:TAssociationSetModificationFunction"/>
    </xs:all>
  </xs:complexType>

  <!-- Type for entity type DeleteFunction -->
  <xs:complexType name="TEntityTypeModificationFunction">
    <xs:group ref="csmsl:TEntityTypeFunctionMappingPropertyGroup" minOccurs="1" maxOccurs="1"/>
    <xs:attribute name="FunctionName" type="xs:string" use="required"/>
    <xs:attribute name="RowsAffectedParameter" type="xs:string" use="optional"/>
  </xs:complexType>

  <!-- Extensions to modification function for entity type InsertFunction and UpdateFunction -->
  <xs:complexType name="TEntityTypeModificationFunctionWithResult">
    <xs:complexContent>
      <xs:extension base="csmsl:TEntityTypeModificationFunction">
        <xs:group ref="csmsl:TResultBindingGroup" minOccurs="1" maxOccurs="1"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <!-- Type for association set DeleteFunction and InsertFunction -->
  <xs:complexType name="TAssociationSetModificationFunction">
    <xs:group ref="csmsl:TAssociationSetFunctionMappingPropertyGroup" minOccurs="1" maxOccurs="1"/>
    <xs:attribute name="FunctionName" type="xs:string" use="required"/>
    <xs:attribute name="RowsAffectedParameter" type="xs:string" use="optional"/>
  </xs:complexType>

  <!-- Grouping for entity type function mappings -->
  <xs:group name="TEntityTypeFunctionMappingPropertyGroup">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="0" name="ScalarProperty" type="csmsl:TFunctionMappingScalarProperty"/>
        <xs:element minOccurs="0" name="AssociationEnd" type="csmsl:TFunctionMappingAssociationEnd"/>
        <xs:element minOccurs="0" name="ComplexProperty" type="csmsl:TFunctionMappingComplexProperty"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <!-- Grouping for entity type function mappings -->
  <xs:group name="TAssociationSetFunctionMappingPropertyGroup">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="1" name="EndProperty" type="csmsl:TFunctionMappingEndProperty"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <!-- Type for function mapping end property -->
  <xs:complexType name="TFunctionMappingEndProperty">
    <xs:group ref="csmsl:TFunctionMappingAssociationEndPropertyGroup" minOccurs="1" maxOccurs="1"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Type for function mapping scalar property -->
  <xs:complexType name="TFunctionMappingScalarProperty">
    <xs:attribute name="ParameterName" type="xs:string" use="required"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Version" type="csmsl:TVersion" use="optional"/>
  </xs:complexType>

  <!-- Type for function mapping result binding -->
  <xs:complexType name="TResultBinding">
    <xs:attribute name="ColumnName" type="xs:string" use="required"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Type for function mapping association end -->
  <xs:complexType name="TFunctionMappingAssociationEnd">
    <xs:group ref="csmsl:TFunctionMappingAssociationEndPropertyGroup" minOccurs="1" maxOccurs="1"/>
    <xs:attribute name="AssociationSet" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="From" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="To" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Grouping for property bindings in function mapping end property -->
  <xs:group name="TFunctionMappingAssociationEndPropertyGroup">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ScalarProperty" type="csmsl:TFunctionMappingScalarProperty"/>
    </xs:sequence>
  </xs:group>

  <!-- Type for function mapping complex property -->
  <xs:complexType name="TFunctionMappingComplexProperty">
    <xs:group ref="csmsl:TFunctionMappingComplexPropertyPropertyGroup" minOccurs="1" maxOccurs="1"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="TypeName" type="xs:string" use="required"/>
  </xs:complexType>  

  <!-- Grouping for result bindings in function mappings -->
  <xs:group name="TResultBindingGroup">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ResultBinding" type="csmsl:TResultBinding"/>
    </xs:sequence>
  </xs:group>

  <!-- Grouping for property bindings in function mapping association end -->
  <xs:group name="TFunctionMappingComplexPropertyPropertyGroup">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="0" name="ScalarProperty" type="csmsl:TFunctionMappingScalarProperty"/>
        <xs:element minOccurs="0" name="ComplexProperty" type="csmsl:TFunctionMappingComplexProperty"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <!-- Grouping these elements so that they can be reused
       These elements represent the property group
       that can either directly reside unser EntitySet, EntityType
       or MappingFragment-->
  <xs:group name="TPropertyGroup">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="0" name="ComplexProperty" type="csmsl:TComplexProperty"/>
        <xs:element minOccurs="0" name="ScalarProperty" type="csmsl:TScalarProperty"/>
        <xs:element minOccurs="0" name="Condition" type="csmsl:TCondition"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <!-- Type for Condition Element-->
  <xs:complexType name="TCondition">
    <xs:attribute name="Value" type="xs:string" use="optional"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="optional"/>
    <xs:attribute name="ColumnName" type="xs:string" use="optional"/>
    <xs:attribute name="IsNull" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for FunctionImport Condition element-->
  <xs:complexType name="TFunctionImportCondition">
    <xs:attribute name="Value" type="xs:string" use="optional"/>
    <xs:attribute name="ColumnName" type="xs:string" use="required"/>
    <xs:attribute name="IsNull" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for End Property Elements in Association Maps -->
  <xs:complexType name="TEndProperty">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" name="ScalarProperty" type="csmsl:TScalarProperty"/>
    </xs:sequence>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Type for Complex Property Map elements-->
  <xs:complexType name="TComplexProperty">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="ScalarProperty" type="csmsl:TScalarProperty"/>
        <xs:element name="ComplexProperty" type="csmsl:TComplexProperty"/>
        <xs:element name="ComplexTypeMapping" type="csmsl:TComplexTypeMapping"/>
        <xs:element name="Condition" type="csmsl:TCondition"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="TypeName" type="xs:string" use="optional"/>
    <xs:attribute name="IsPartial" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for Complex Type mapping element-->
  <xs:complexType name="TComplexTypeMapping">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="ScalarProperty" type="csmsl:TScalarProperty"/>
        <xs:element name="ComplexProperty" type="csmsl:TComplexProperty"/>
        <xs:element name="Condition" type="csmsl:TCondition"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="TypeName" type="xs:string" use="optional"/>
    <xs:attribute name="IsPartial" type="xs:boolean" use="optional"/>
  </xs:complexType>
  
  <!-- Type for ScalarProperty Element-->
  <xs:complexType name="TScalarProperty">
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="ColumnName" type="xs:string" use="required"/>
  </xs:complexType>

  <!--Definition for SimpleIdentifier
      This is the same definition that is being used in the CSDL XSD
      -->
  <xs:simpleType name="TSimpleIdentifier">
    <xs:restriction base="xs:token">
        <!-- The below pattern represents the allowed identifiers in ECMA specification -->
        <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}"/>
    </xs:restriction>
  </xs:simpleType>


  <!--Definition for QualifiedName. QualifiedName is SimpleIdentifiers with '.'
      allowed. This is the same definition that is being used in the CSDL XSD
      -->
  <xs:simpleType name="TQualifiedName">
    <xs:restriction base="xs:token">
        <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification  -->
         <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
    </xs:restriction>
  </xs:simpleType>

  <!--Definition for Version, which can 'original' or 'current' as its value-->
  <xs:simpleType name="TVersion">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Original"/>
      <xs:enumeration value="Current"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Type fopr Space or Type Attribute -->
  <xs:simpleType name="TSpace">
    <xs:restriction base="xs:token">
      <xs:enumeration value="C-S"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
@B<?xml version="1.0"?>
<!-- XSD for CS( CDM <-> Storage ) space mapping. -->
<xs:schema xmlns:tns="urn:schemas-microsoft-com:windows:storage:mapping:CS" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:schemas-microsoft-com:windows:storage:mapping:CS" xmlns:csmsl="urn:schemas-microsoft-com:windows:storage:mapping:CS" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:annotation>
    <xs:documentation xml:lang="en">
      Common Data Model Schema Definition Language.
      Copyright (c) Microsoft Corp. All rights reserved.
    </xs:documentation>
  </xs:annotation>
  
  <!-- Root Level element for CS Mapping -->
  <xs:element name="Mapping" type="csmsl:TMapping"/>

  <!-- Type of Root level mapping elements-->
  <xs:complexType name="TMapping">
    <!-- Top level Mapping element can have Alias elements followed by 
         EntityContainer Mapping element-->
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Alias" type="csmsl:TAlias"/>
      <!-- For now we will allow only one EntityContainerMapping to be mapped per MSL File.-->
      <xs:element name="EntityContainerMapping" type="csmsl:TEntityContainerMapping"/>
    </xs:sequence>
    <!-- Space represents the space that the mapping occurs. For CS Mapping
         it always has to be "C-S"-->
    <xs:attribute name="Space" type="csmsl:TSpace" use="required" fixed="C-S"/>
  </xs:complexType>

  <!-- Type for QueryView Element -->
  <xs:complexType name="TQueryView">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="TypeName" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>




  <!-- Type for Alias Element-->
  <xs:complexType name="TAlias">
    <xs:attribute name="Key" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Value" type="xs:string" use="required"/>
  </xs:complexType>

  <!-- Type for EntityContainerMapping Element-->
  <xs:complexType name="TEntityContainerMapping">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="0" name="EntitySetMapping" type="csmsl:TEntitySetMapping"/>
        <xs:element minOccurs="0" name="AssociationSetMapping" type="csmsl:TAssociationSetMapping"/>
        <xs:element minOccurs="0" name="FunctionImportMapping" type="csmsl:TFunctionImportMapping"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="CdmEntityContainer" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="StorageEntityContainer" type="xs:string" use="required"/>
  </xs:complexType>

  <!-- Type for FunctionImport Mapping element -->
  <xs:complexType name="TFunctionImportMapping">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="ResultMapping" type="csmsl:TFunctionImportMappingResultMapping"/>
    </xs:sequence>
    <xs:attribute name="FunctionName" type="xs:string" use="required"/>
    <xs:attribute name="FunctionImportName" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>
  
  <!-- Type for FunctionImport/ResultMapping element -->
  <xs:complexType name="TFunctionImportMappingResultMapping">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="EntityTypeMapping" type="csmsl:TFunctionImportEntityTypeMapping"/>
    </xs:sequence>    
  </xs:complexType>

  <!-- Type for EntitySet Mapping element-->
  <xs:complexType name="TEntitySetMapping">
    <xs:choice>
      <xs:choice>
        <xs:sequence>
          <xs:element name="QueryView" type="csmsl:TQueryView" minOccurs="0" maxOccurs="unbounded"/>
    
          <xs:element name="EntityTypeMapping" type="csmsl:TEntityTypeMapping" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:sequence>
          <xs:element name="MappingFragment" type="csmsl:TMappingFragment" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:choice>
      <xs:group ref="csmsl:TPropertyGroup"/>
    </xs:choice>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="TypeName" type="xs:string" use="optional"/>
    <xs:attribute name="StoreEntitySet" type="xs:string" use="optional"/>
  </xs:complexType>

  <!-- Type for AssociationSetMapping element-->
  <xs:complexType name="TAssociationSetMapping">
    <xs:sequence>
      <xs:element name="QueryView" type="xs:string" minOccurs="0" maxOccurs="1"/>          
      <xs:element name="EndProperty" type="csmsl:TEndProperty" minOccurs="0" maxOccurs="2"/>
      <xs:element name="Condition" type="csmsl:TCondition" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="ModificationFunctionMapping" type="csmsl:TAssociationSetModificationFunctionMapping" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="TypeName" type="csmsl:TQualifiedName" use="optional"/>
    <xs:attribute name="StoreEntitySet" type="xs:string" use="optional"/>
  </xs:complexType>

  <!-- Type for EntityTypeMapping element-->
  <xs:complexType name="TEntityTypeMapping">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="MappingFragment" type="csmsl:TMappingFragment"/>
      <xs:element minOccurs="0" maxOccurs="1" name="ModificationFunctionMapping" type="csmsl:TEntityTypeModificationFunctionMapping"/>
    </xs:sequence>
    <xs:attribute name="TypeName" type="xs:string" use="required"/>
  </xs:complexType>
  
  <!-- Type for FunctionImport EntityTypeMapping element-->
  <xs:complexType name="TFunctionImportEntityTypeMapping">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Condition" type="csmsl:TFunctionImportCondition"/>
    </xs:sequence>
    <xs:attribute name="TypeName" type="xs:string" use="required"/>
  </xs:complexType>

  <!-- Type for MappingFragment Element-->
  <xs:complexType name="TMappingFragment">
    <xs:group ref="csmsl:TPropertyGroup" minOccurs="1" maxOccurs="1"/>
    <xs:attribute name="StoreEntitySet" type="xs:string" use="required"/>
  </xs:complexType>

  <!-- Type for EntityTypeMapping/ModificationFunctionMapping element -->
  <xs:complexType name="TEntityTypeModificationFunctionMapping">
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="DeleteFunction" type="csmsl:TEntityTypeModificationFunction"/>
      <xs:element minOccurs="1" maxOccurs="1" name="InsertFunction" type="csmsl:TEntityTypeModificationFunctionWithResult"/>
      <xs:element minOccurs="1" maxOccurs="1" name="UpdateFunction" type="csmsl:TEntityTypeModificationFunctionWithResult"/>
    </xs:all>
  </xs:complexType>
  
  <!-- Type for AssociationSetMapping/ModificationFunctionMapping element -->
  <xs:complexType name="TAssociationSetModificationFunctionMapping">
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="DeleteFunction" type="csmsl:TAssociationSetModificationFunction"/>
      <xs:element minOccurs="1" maxOccurs="1" name="InsertFunction" type="csmsl:TAssociationSetModificationFunction"/>
    </xs:all>
  </xs:complexType>

  <!-- Type for entity type DeleteFunction -->
  <xs:complexType name="TEntityTypeModificationFunction">
    <xs:group ref="csmsl:TEntityTypeFunctionMappingPropertyGroup" minOccurs="1" maxOccurs="1"/>
    <xs:attribute name="FunctionName" type="xs:string" use="required"/>
    <xs:attribute name="RowsAffectedParameter" type="xs:string" use="optional"/>
  </xs:complexType>

  <!-- Extensions to modification function for entity type InsertFunction and UpdateFunction -->
  <xs:complexType name="TEntityTypeModificationFunctionWithResult">
    <xs:complexContent>
      <xs:extension base="csmsl:TEntityTypeModificationFunction">
        <xs:group ref="csmsl:TResultBindingGroup" minOccurs="1" maxOccurs="1"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <!-- Type for association set DeleteFunction and InsertFunction -->
  <xs:complexType name="TAssociationSetModificationFunction">
    <xs:group ref="csmsl:TAssociationSetFunctionMappingPropertyGroup" minOccurs="1" maxOccurs="1"/>
    <xs:attribute name="FunctionName" type="xs:string" use="required"/>
    <xs:attribute name="RowsAffectedParameter" type="xs:string" use="optional"/>
  </xs:complexType>

  <!-- Grouping for entity type function mappings -->
  <xs:group name="TEntityTypeFunctionMappingPropertyGroup">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="0" name="ScalarProperty" type="csmsl:TFunctionMappingScalarProperty"/>
        <xs:element minOccurs="0" name="AssociationEnd" type="csmsl:TFunctionMappingAssociationEnd"/>
        <xs:element minOccurs="0" name="ComplexProperty" type="csmsl:TFunctionMappingComplexProperty"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <!-- Grouping for entity type function mappings -->
  <xs:group name="TAssociationSetFunctionMappingPropertyGroup">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="1" name="EndProperty" type="csmsl:TFunctionMappingEndProperty"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <!-- Type for function mapping end property -->
  <xs:complexType name="TFunctionMappingEndProperty">
    <xs:group ref="csmsl:TFunctionMappingAssociationEndPropertyGroup" minOccurs="1" maxOccurs="1"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Type for function mapping scalar property -->
  <xs:complexType name="TFunctionMappingScalarProperty">
    <xs:attribute name="ParameterName" type="xs:string" use="required"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="Version" type="csmsl:TVersion" use="optional"/>
  </xs:complexType>

  <!-- Type for function mapping result binding -->
  <xs:complexType name="TResultBinding">
    <xs:attribute name="ColumnName" type="xs:string" use="required"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Type for function mapping association end -->
  <xs:complexType name="TFunctionMappingAssociationEnd">
    <xs:group ref="csmsl:TFunctionMappingAssociationEndPropertyGroup" minOccurs="1" maxOccurs="1"/>
    <xs:attribute name="AssociationSet" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="From" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="To" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Grouping for property bindings in function mapping end property -->
  <xs:group name="TFunctionMappingAssociationEndPropertyGroup">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ScalarProperty" type="csmsl:TFunctionMappingScalarProperty"/>
    </xs:sequence>
  </xs:group>

  <!-- Type for function mapping complex property -->
  <xs:complexType name="TFunctionMappingComplexProperty">
    <xs:group ref="csmsl:TFunctionMappingComplexPropertyPropertyGroup" minOccurs="1" maxOccurs="1"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="TypeName" type="xs:string" use="required"/>
  </xs:complexType>  

  <!-- Grouping for result bindings in function mappings -->
  <xs:group name="TResultBindingGroup">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ResultBinding" type="csmsl:TResultBinding"/>
    </xs:sequence>
  </xs:group>

  <!-- Grouping for property bindings in function mapping association end -->
  <xs:group name="TFunctionMappingComplexPropertyPropertyGroup">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="0" name="ScalarProperty" type="csmsl:TFunctionMappingScalarProperty"/>
        <xs:element minOccurs="0" name="ComplexProperty" type="csmsl:TFunctionMappingComplexProperty"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <!-- Grouping these elements so that they can be reused
       These elements represent the property group
       that can either directly reside unser EntitySet, EntityType
       or MappingFragment-->
  <xs:group name="TPropertyGroup">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="0" name="ComplexProperty" type="csmsl:TComplexProperty"/>
        <xs:element minOccurs="0" name="ScalarProperty" type="csmsl:TScalarProperty"/>
        <xs:element minOccurs="0" name="Condition" type="csmsl:TCondition"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <!-- Type for Condition Element-->
  <xs:complexType name="TCondition">
    <xs:attribute name="Value" type="xs:string" use="optional"/>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="optional"/>
    <xs:attribute name="ColumnName" type="xs:string" use="optional"/>
    <xs:attribute name="IsNull" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for FunctionImport Condition element-->
  <xs:complexType name="TFunctionImportCondition">
    <xs:attribute name="Value" type="xs:string" use="optional"/>
    <xs:attribute name="ColumnName" type="xs:string" use="required"/>
    <xs:attribute name="IsNull" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for End Property Elements in Association Maps -->
  <xs:complexType name="TEndProperty">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" name="ScalarProperty" type="csmsl:TScalarProperty"/>
    </xs:sequence>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
  </xs:complexType>

  <!-- Type for Complex Property Map elements-->
  <xs:complexType name="TComplexProperty">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="ScalarProperty" type="csmsl:TScalarProperty"/>
        <xs:element name="ComplexProperty" type="csmsl:TComplexProperty"/>
        <xs:element name="ComplexTypeMapping" type="csmsl:TComplexTypeMapping"/>
        <xs:element name="Condition" type="csmsl:TCondition"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="TypeName" type="xs:string" use="optional"/>
    <xs:attribute name="IsPartial" type="xs:boolean" use="optional"/>
  </xs:complexType>

  <!-- Type for Complex Type mapping element-->
  <xs:complexType name="TComplexTypeMapping">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="ScalarProperty" type="csmsl:TScalarProperty"/>
        <xs:element name="ComplexProperty" type="csmsl:TComplexProperty"/>
        <xs:element name="Condition" type="csmsl:TCondition"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="TypeName" type="xs:string" use="optional"/>
    <xs:attribute name="IsPartial" type="xs:boolean" use="optional"/>
  </xs:complexType>
  
  <!-- Type for ScalarProperty Element-->
  <xs:complexType name="TScalarProperty">
    <xs:attribute name="Name" type="csmsl:TSimpleIdentifier" use="required"/>
    <xs:attribute name="ColumnName" type="xs:string" use="required"/>
  </xs:complexType>

  <!--Definition for SimpleIdentifier
      This is the same definition that is being used in the CSDL XSD
      -->
  <xs:simpleType name="TSimpleIdentifier">
    <xs:restriction base="xs:token">
        <!-- The below pattern represents the allowed identifiers in ECMA specification -->
        <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}"/>
    </xs:restriction>
  </xs:simpleType>


  <!--Definition for QualifiedName. QualifiedName is SimpleIdentifiers with '.'
      allowed. This is the same definition that is being used in the CSDL XSD
      -->
  <xs:simpleType name="TQualifiedName">
    <xs:restriction base="xs:token">
        <!-- The below pattern represents the allowed identifiers in ECMA specification plus the '.' for namespace qualification  -->
         <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}(\.[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}){0,}"/>
    </xs:restriction>
  </xs:simpleType>

  <!--Definition for Version, which can 'original' or 'current' as its value-->
  <xs:simpleType name="TVersion">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Original"/>
      <xs:enumeration value="Current"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Type fopr Space or Type Attribute -->
  <xs:simpleType name="TSpace">
    <xs:restriction base="xs:token">
      <xs:enumeration value="C-S"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
o<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="AnnotationSchema" targetNamespace="http://schemas.microsoft.com/ado/2009/02/edm/annotation" elementFormDefault="unqualified" xmlns="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:attribute name="StoreGeneratedPattern" type="TStoreGeneratedPattern"/>
  <xs:simpleType name="TStoreGeneratedPattern">
    <xs:restriction base="xs:token">
      <xs:enumeration value="None"/>
      <xs:enumeration value="Identity"/>
      <xs:enumeration value="Computed"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:attribute name="LazyLoadingEnabled" type="xs:boolean"/>
  
  <!-- Allow future support of a strongly typed heirarchy of types for spatial values -->
  <xs:attribute name="UseStrongSpatialTypes" type="xs:boolean" default="true"/>

</xs:schema>
������lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet�PADPADP���U�� 	�H7��.�70��`���q����������C��@���̀��̀Y6�D� ��8���V��Ha�u_m���e��Q�7���I��$R���[�J-����+���^�"�X����s\�U�]�2��}	���΄f�
�/�\�8��
����b�…q�2�3�N�b�l�=��B��\ީ���C�kZO���P���[�:^�{�g��Qh���u�*�S���xЇF��g��t�7��)D�'�r��"��e���y���h���G��;-��G2�<5���c�3���Q��������� �qW�ee�Zo�[+v�Q"��9��Y	􋄈��
�V@h�
t�.v��N1ƌ��׌� �G ��P��Ľ���v1��u��d���Mad�Gb}�P.��G���"܏IB�������C⛐DI��GU�v���f���j%��b���ơ‘��đU[̑�nΑ_����s���+;�k���g��n�
�b;��oW��+u�Gx�� .�{_�2g��"i��cm��/��^���5�����!Җ�LS�N���e?�ۜ?��Q[�$Y\�cȖ�b�7K��e��+ŗ��-��9��Ց��՘}�*���_�W�Ι�wљ=m�]�U�������[ҚGؚ�qؚ3k�W�%��4���7��������f-�
w��Eݞ�C���ױ��
���%Ϝ P휪r/�	c�
�НQm��<���>���d���2������E(*��:��B���n�ő��T˟��ԟ[J�c
^��:�9��ZQ&��X���¡&����f)��/��V��s�&շ��ˢ��ˢ��ˢ[
̢�)̢�㢠��,����2�tO:�\��V_��H7����W�>ſ��"�U{�-vM��d����^�Z��m��@�����sꦟD�0�G�Zͮ��ܳ��
���M���o�͝��$W��H�ڨ&"��O�۹Y��;d�C覩��թ�R�=G��oߪ����%��⫔ �;�S�K�������#ǧ�t�o48��p<�����e�*�L�3������G5��5_�&�d�L�k���z�o2ܯgp���-�rE�ʆ������԰Gx���L��rT�7�g�'[i��q���4�
�W��)βr��K� �c D��〴�d����Ĵ�����j8
�KX*�6�/���C��]�ų���z�����1�ɵr=�:J�tBZ���a��Ql��`��L�Ӷ��_�xJo��ӷ�+ܷ՛�X$���F��폸�*������'-�99?������~�IR�sJ������,�
����N�ѻ��ӻP�z����$����F��g;1��&C�-�T�	oW��f��)Ϋ�:�¾��ɾt�ӾQ;��h��
�����˿��~s���=��T=�(nN���[��By�����������N���o����
��|�X��@��/��c�z�������5@�;��Yħ�8����­��2�;à,M�\8p�����i�����)w��y�����6�A���Q�J���������I���kF;Ơ^`�|7��	�ƕ��GH��Em�Ǹ�lj���f�NJ��Z���@�
�z��1gȢ�:�q�T�C����;c�m�}ɸڣ��y��9*�ACGʮv��غ�Ys�ʝh�v^˞�0�ҡJ��bˤd�˘q���D���
�˄��)�9�w̵���z���e������"6��>�O
V���޼���δ���4�*��wЯ.�"W��&w�Q���B��`��_���x1$�{1$Ұ�*�R�Y�)��a���#���e�\[$�V�(Շ�)խ�8Ջ���b�	��:�b�Y�DJ~���֟���L��C�
���`(�5�<׬���ma��[����e���`�הE�����r�Q1�TPS�(Arق���������8����k�:�<��Cڝ�Q�K�ڒ���,���G��M��}P۴	R��MS�W�T�C�nۯ����i��#���u1Eܰ�Nܒm��Ė���'��0���<�ޛD���֦�]����sp�ߥ������>l��1W��&�aH�}�އ �+��H�����=�rFD���V�<&����-j�������V�[�1_�i_�l��Ѷ�ה�����'@�-��Q��]u��ސ侸��tY�����A���,�]�b���%!	��[�ʊ��c��)-��ҭ��c��ʪ�W�Yc�'��r[��m���"�O�8�a��t��t逻��7)[���}.�궝��ȃJ�k�#������ϒ��D��6e���5)�X����9���
�D�p�.��8����
3�)(
���
�O!�6�VT��j�Po�&��ѵ��p��dS���Yg�}`�� K���6����
'E�Rvx�9���w5���߿�9��=�b����+������Qo��/���,�
2�eF�r�r�|��t)��E��'�!�D,���-��7�b7@�ER��I��(���D#W�9�u��� �[�9��������gI�J�2����;A�j*�Hp�]?�>�}�y_��������K���N�2��<���>��9L��j�ɜ��{q�~��>��&�4���A�	r�A?�9mC�!
F��H��H���P�f.����\�5�%�O��������������|��E1��L�:~���Y�����Z���j�!p����������:�uK�{�����?��f�w�j��������R`����Y�����J]�g;��JZ�]R�n��X
�x�:��>�T'Zz
�}�J�"h�y��w���}|=6�?�����Q�����Y�.��^$�#S�1�S0'�.��4�GS�Y
��S�V�;�U�Q9�XH`�,u���a�:=	�a	�=d	�|	�Q�	z��	��	~&
�
}='
�ϕ
�%�
(�
�y��~Ԭ�Ub�i	�
�`(.7	2ŲJzK�E����-װ�װc�|R
MKc
�
��
NP�
��8P;W�Xx�i�b�5t���AP�%�d=��qRw��������1+�{��y������ S$�\~i��:��0�Z���J�����Xi>;V<r<�\��s������^��aF�h�W��~��.�?����
nu
t����Ǜ]�����-d�hd!��C�A8
0�)5�d�LuN҃��UA{ɖ���Z~��P������3�b�%E��Q�Q{�
�l�+o0Y������������!Ww��+���Χ%`F:�i�����m.�.���J+ T!9�+!�*t!Tjw!w@�!�ߥ!z"f7K"��n"�"շ�"��#�Z/#W�=#�pt#s-{#���#���#�_�#B��#���#��#��#��$$G�-$�4=$�/�$�̬$�)�$��%�/%`�~%R��%�g�%�&��T&�&l��&�/6'B�E'Z}]'�T�'o�(�*:(��(�x�(0�)e\3)�J<)o2@)��)z��)��)��9*Cf*f�~*��*�?+��(+>q/+Ę�+���+|Z�+�:�+We,�\(,J�M,[rT,�X,+_,�,8��,���,p�,S��,��-k7�-rǺ-�.�7�.
�.��.��$/T4_/�C�/6�/���/� 0	��0�K�0x��0U�0�1��1��1�2�2�B+2o�@2�e2=3�2኿2��2~�3ƛA3�6q3�y3&Κ3�ܫ3�܃4�c�4��W5��\5�Rc5)ǜ5�Y�5M�5,x�5�|$6��B6�}6J�6�V�6��6���67��6{%7G�7�O7~�7�ь8�#9@B9=�_9W�h9�9l��9���:�ɝ:��:2D�:�\�:~�,;	4;��6;��V;`�Y;O{j;``�;E��;#�<_�<"_V<O�<R�<��<�)=� =�==�oW=u�j=�l=lBy=�S�=�o�=N�=?A�>�*�>ϑ�>	?��!?��r?�|�?��?MU�?�?���@�4�Ahv�A'��A�>�A-�A�9B��B��Bs�FC�TChVC;��C���C���C���C��C��DR�!Da�lD]�Dȷ�D��D��D^YfE�<�E-��E���E�:�E��/FA+�F�%G�rG�1G���G:H�mH��+HdEHyFrH�ÆH���H��HB��H/��H4eI3f�I��I,z�I)��J���J!��J�-K�K�PtK.��K@��Kcx�K�&�K/Q�K
l�K r@L��LZ��L�@#M�z%Mc+M���MI�M�q�Mj�yN9��N�,O��dO>nO`�O'��Ob�O�HP��kP�%lPzgtP*�P�P{�P�C�P�-}Q�u�Q��Q�b�Q'�R�pRE�R(��R���R��R���R�"qS��SH�S�u�S޲7T}�>Ts�?T?wLT_[Te�sT�8�T<��TbJU,�3U:pCU��dU8fUejUҠ�U�*9Vq�iV�llV:wVt�VQ�$W��/W��YWlW��nWH�W�h�W	�WZ�X��IXm�bX��cX0�X
E�X�~�X��iY�"�Y̍�Y
��ZK�Z���ZӇ�Zk��Z"]�Zk�[Z�b[��{[�"�[N]�[��[���[N��[Ur	\=t\�\��\Z��\��\�]��G]X(e]H�]}j�]q��]UP�]]�^B%j^��^B��^ܙ^�l�^�Rd_1��_I�_��_Aq�_��%`�=`gXD`e�Z`�4�`�`�}Da b2��b�{�b!�b���b�,�b��b�qc ;.c��<ca?Ec�eckcœ�c�ͫc�0�c�z�cX�c_
d[�edT�hd�$}d��d'i�dO��d���d.��d�'e�+e��#e+.e�FeL��e��e�}�e/e}f{Wg��-g%�Agˁ�g��g?�
h�`h�hˏ�h9��h���h�x�h��i�Ei�
Nia�iz��i��iT�j-k�:kJ�Zk��
l��lA1l	�elY��lF�lt�m�=m�M�m��m@��m�n��$nQ"1n�EnzRn�knW�onKqwn
��n���n��n��n��n�o�:Jo�1bo�Dpf�Wp��Xp5�mp$�q�oq�Epq�1�q��q���qJ�q7�q��?r�Tr]r(6]rj�s�fsCM(s�^`s�h�sƲ�s���s,�s���s���s��t{/�t0��tk�tư�t@�'u�=uL�Ru�*�u���u���uqoav��v۲�vJ�vW�w!5(w	�iw��wG��w�r�w�e1x�\x�x� �x��0y�I5yT�Ay�jy(q�y'��y#��y,5z8fqzvkwz=L�ztc
{�;{�I{!|�{X��{�n�{5�{��|_	|^N|�~|� �|#ͫ|[r�|�m�}�7�}�a~dg�~4+�~�լ~��~P~��D��d�9Y�N1������i�f�f�?G��Q��a�a?�f��?P�R�vN�m��AB�H�0��7ON�0pL�
�D�)aC��=JV�>@0u���E�@�8lH�G%6-
��$v�h��8�Yw��v����#>��rM���Kon��x�vC]�U���*

YȀ]2|�X�D�A�
�@��"�I��|�D�}�c�@�Lou$f9����#j���	�Isc�,�Q1�7�[db19��G��^��`�XMF8TirD�?,;�>ҟh;�5�o:k�I�g^~^����nG�OHs�!�%v�a�ld�&�%%U�ʬ6K�BB�c[U�o��(���H�p[$��@�ׇ��~�RAg�$>��!�r��.SzH�[)�����`�/S������x�b��!3ӄ�sa}�^�n\AS���#4#���BD�BM=F.G����5@<IK���J���*�ĥ�L'�@�*�(�t��:P~�m�>^�k`nq/��L�i1�zZd	�����Z�s|m�j��7-V�_A��d�����9?���d�)�=˔�R[.LR\����2K�IO��Ԯ�mJ�8���r_�eG�e�G�mz�����&q��C3�]��uU8�#�d�+Zٕ�b���E.��'\��k�C��2�b"u�O��LQn�Y�L��}=���d�<Q����Idf�z�
h����W�X�BT�*=sEFu
�������@��{��$�;J"IW��A��dZ
s��?�]����#$.X�b[�!E���/Li_'�RU��'�i�l >Ib��+��VnDo�u&m���j���ep�E�mj+��	�
M .R-��V�����DFn�p�^�
��J�s�JZRw6���������V
�s�C�c�����Ĕ�2{Ka]-�5�.���u�M����A�W��ٽF�"�"?��F��X8��V�!����J�2�~g���`�
h�PkYk	?uX��
"uq�i7�t�x��w+��t���%5T��	��A�����n�C�2]���H��v��o�L��[-~(�5Te3z�{v߳��ɄC��!�w��c>`B-���4C*��)W#�J��:gF(*�l����=bHPtQ�w�	��C|&E��^�}�p�C<D.�L~���H�f'D�Q���H��&�m�?zs0���r��2��sL.������n��{p�]�7��9��
�tkI�C�4u��vT~��ye���^�SD��o*>���P&c�g!��
u���g�rI�k�g{x^�As�iX�O��@C@��6�3�2?|3���bin���|� �����05�=~����^WDC{=/�r�Tj��h�O����V� HO����.B�B>�=�EsT^xf��UK�7y�&K�
4�P�P&vQ%ӱ=��^�?�x$biK�KM)���:|��sA��:�i�F�BBa�y�����<�Vt���g>p��&R��S�����YQ0�i9�Yu7IJ��:{��W:�LT��r���:��l�K�Q&�+���IX�
X����C����h�v��[����e7R���kP�J_fs�AE�|���;,�Jw�a�(�C�G!���p��U�Oi�����>E�4�.t6��/P5 M�aPRE���ԏ%��#L��_* ����9�D���/�7LA�`�%�A��[��1�S��O�3�d5`|`��Q�q@��`�@Y����Bya��"�oLr��O� ��k�6\�׎���j���S�m�zt�nA�*�=(�6�T��VTG��-J�q��u#h�JC�
^��H/j@Qu�?F�e�����J|l�x���fAGh*��fzr��X>kBɒ,}�D�
#�f>�����������[!1e�}���|`w�-J'C/Z�1{#�{��gLcLj��B�;#«L,y�*_��bY
���1�~�D�Bk��C�\�{�G�Gzh2$'�}���LY�d2x��������k�z'^/� ��s��B�Z�MX����R(Aef?}?"?�_�	K���r"u�>��-IS:��x4+��X�,��Y��)���Gώ	x>Q�_2��8WN�

:���u�My'���;mS��3�a�<�O���n(���)���q1>0q��e����b&Ԧ�@
���pb	'A�Y���j��v���E~�5�nZ+D��I`2��N��-lQ���M�.4A�N�.��P�ԗ��0H��-�1x\�X�_��P���=�p�i��8�2+3�)���sy5�OoDf-kIR�TΓXd��/fTJ��[��pkl�,��t���;��'O�|�h�q l6��T0�et�F��}���W���J��,�ϐ˩���cI	���j�BC��o�>���e���@7��w��wu��!�7
�^��)v�@Hhm��Z^yq��93�qc��?�4�O�S	��5O)U�����;Vj���L�*��)��;�G:
[6V<w�h3g�o{�a�F��t�>81b����{�Wo\�MU�|���g'\0<����ߤ]�.{5r��z���+��z%�]�S�db��s�3�]N!�+�Xs�&��gI���h��g����E&���|CL�&1�BX4�1.�A!9�D/r���e�u]�a���W4�K�jG���6J
��_`32�_�[�T{8��2-�4�A��s4�U��9�Zl�X]FE�O�CXBs�МQm/��A�~EN�UHlf��-�Gi	��s}8���^=�FsW�jo�C����,\�>|�����=����=P�h��
��96O_2f��z��\�{!��0Ɩ�=X����2ADP_ClosedDataReaderErrorHADP_CollectionParameterElementIsNullFVADP_CollectionParameterElementIsNullOrEmpty�4ADP_ConnectionStringSyntax�(ADP_DataReaderClosed%@ADP_GetSchemaTableIsNotSupportedkFADP_ImplicitlyClosedDataReaderError�2ADP_InternalProviderError'8ADP_InvalidBufferSizeOrIndexZ@ADP_InvalidConnectionOptionValue�0ADP_InvalidDataDirectory�*ADP_InvalidDataLength#XADP_InvalidDataReaderFieldCountForScalarTypeERADP_InvalidDataReaderMissingColumnForType�^ADP_InvalidDataReaderMissingDiscriminatorColumn9TADP_InvalidDataReaderUnableToDetermineType�jADP_InvalidDataReaderUnableToMaterializeNonScalarType#&ADP_InvalidDataType�BADP_InvalidDestinationBufferIndex�6ADP_InvalidEnumerationValueLADP_InvalidMultipartNameDelimiterUsage3(ADP_InvalidSizeValue^8ADP_InvalidSourceBufferIndex�>ADP_KeysRequiredForJoinOverNest�4ADP_KeysRequiredForNestingX.ADP_KeywordNotSupported�6ADP_MustUseSequentialAccess�.ADP_NestingNotSupportedADP_NoDataH,ADP_NoQueryMappingView�8ADP_NonSequentialChunkAccess�:ADP_NonSequentialColumnAccessk	LADP_ProviderDoesNotSupportCommandTrees

.ADP_UnknownDataTypeCodeS
(AliasNameAlreadyUsed�
2AliasNameIsAlreadyDefined�
`AllArtifactsMustTargetSameProvider_InvariantName`AllArtifactsMustTargetSameProvider_ManifestToken�2AllElementsMustBeInSchema6AmbiguousEntityContainerEndU0AmbiguousFunctionAndType'
4AmbiguousFunctionArgumentsy
2AmbiguousFunctionOverload�
6AmbiguousMetadataMemberName�0ArgumentMustBeCSpaceTypeB0ArgumentMustBeOSpaceType�$ArgumentOutOfRange�NArgumentOutOfRangeExpectedPostiveNumber�8ArgumentTypesAreIncompatibleArrayTooSmallQNAssemblyMissingFromAssembliesToConsider�(AtleastOneSSDLNeeded�&BadNamespaceOrAlias6HBadNavigationPropertyBadFromRoleType^`BadNavigationPropertyRelationshipNotRelationship
RBadNavigationPropertyRolesCannotBeTheSameKDBadNavigationPropertyUndefinedRole�*BadParameterDirection�VBadParameterDirectionForComposableFunctionsv(BadPrecisionAndScaleBBetweenLimitsCannotBeUntypedNulls�DBetweenLimitsTypesAreNotCompatible�NBetweenLimitsTypesAreNotOrderComparable3@BetweenValueIsNotOrderComparable�hBothMinAndMaxValueMustBeSpecifiedForNonConstantFacet�:CalculatedEnumValueOutOfRangeg>CannotCallNoncomposableFunction�6CannotConvertNumericLiteral�2CannotCreateEmptyMultiset�6CannotCreateMultisetofNulls:CannotInstantiateAbstractTypeLrCannotLoadDifferentVersionOfSchemaInTheSameItemCollection�BCannotResolveNameToTypeOrFunction�>CannotUseSystemNamespaceAsAlias0>CheckArgumentContainsNullFailed�DCodeGen_ConstructorNoParameterless�PCodeGen_PropertyDeclaringTypeIsValueType�2CodeGen_PropertyIsIndexed!0CodeGen_PropertyIsStaticG0CodeGen_PropertyNoGetterk0CodeGen_PropertyNoSetter�DCodeGen_PropertyStrongNameIdentity�>CodeGen_PropertyUnsupportedForm�>CodeGen_PropertyUnsupportedType+ZCollections_CannotFillTryDifferentMergeOptionYTCollections_ExpectedCollectionGotReferenceFDCollections_InvalidEntityStateLoadqHCollections_InvalidEntityStateSource�HCollections_NoRelationshipSetMatched�HCollections_UnableToMergeCollections�dCommandTextFunctionsCannotDeclareStoreFunctionName�BCommandTextFunctionsNotComposable VCompiledELinq_UnsupportedNamedParameterTypeC `CompiledELinq_UnsupportedNamedParameterUseAsType� NCompiledELinq_UnsupportedParameterTypesC!hComplexObject_ComplexChangeRequestedOnScalarProperty�!dComplexObject_ComplexObjectAlreadyAttachedToParent�"\ComplexObject_NullableComplexTypesNotSupported�"TComplexTypeAsReturnTypeAndDefinedEntitySet]#^ComplexTypeAsReturnTypeAndNestedComplexProperty�#nComposableFunctionOrFunctionImportMustDeclareReturnTypeL$2ConcatBuiltinNotSupported�$XConcurrencyRedefinedOnSubTypeOfEntitySetType�$<ConstantFacetSpecifiedInSchema�%2CouldNotResolveIdentifier�%:Cqt_Aggregate_InvalidFunction�&@Cqt_And_BooleanArgumentsRequired�&@Cqt_Apply_DuplicateVariableNames�&^Cqt_Arithmetic_InvalidUnsignedTypeForUnaryMinusN'@Cqt_Arithmetic_NumericCommonType�'<Cqt_Binary_CollectionsRequired�'<Cqt_Binding_CollectionRequired(@Cqt_Binding_VariableNameNotValidY(4Cqt_Case_InvalidResultType�(8Cqt_Case_WhensMustEqualThens�((Cqt_Cast_InvalidCast<)@Cqt_CommandTree_InvalidDataSpace�)HCqt_CommandTree_InvalidParameterName�)BCqt_Comparison_ComparableRequired�)^Cqt_Constant_ClrEnumTypeDoesNotMatchEdmEnumType*@Cqt_Constant_InvalidConstantTypel*0Cqt_Constant_InvalidType+@Cqt_Constant_InvalidValueForTypeF+,Cqt_Copier_EndNotFound~+DCqt_Copier_EntityContainerNotFound�+8Cqt_Copier_EntitySetNotFound#,6Cqt_Copier_FunctionNotFound_,<Cqt_Copier_NavPropertyNotFound�,6Cqt_Copier_PropertyNotFound�,.Cqt_Copier_TypeNotFoundK-<Cqt_CrossJoin_AtLeastTwoInputs�-HCqt_CrossJoin_DuplicateVariableNames�-*Cqt_DeRef_RefRequiredz.<Cqt_Distinct_InvalidCollection�.dCqt_Element_InvalidArgumentForUnwrapSingleProperty/BCqt_Exceptions_InvalidCommandTree�/>Cqt_ExpressionLink_TypeMismatch�/PCqt_ExpressionList_IncorrectElementCount�0HCqt_Factory_IncompatibleRelationEnds�0PCqt_Factory_MethodResultTypeNotSupported�0TCqt_Factory_NewCollectionInvalidCommonType�14Cqt_Factory_NoSuchProperty>2:Cqt_Factory_NoSuchRelationEnd�2ZCqt_Function_CanonicalFunction_AmbiguousMatch�2NCqt_Function_CanonicalFunction_NotFound33HCqt_Function_CommandTextInExpression|3LCqt_Function_NonComposableInExpression�3<Cqt_Function_VoidResultInvalid�4>Cqt_General_MetadataNotReadOnly5BCqt_General_NoProviderBooleanTypeZ5BCqt_General_NoProviderIntegerType�5@Cqt_General_NoProviderStringType�5DCqt_General_PolymorphicArgRequiredM6FCqt_General_PolymorphicTypeRequired�6BCqt_General_UnsupportedExpression�6>Cqt_GetEntityRef_EntityRequired72Cqt_GetRefKey_RefRequiredN7FCqt_GroupBinding_CollectionRequired�7TCqt_GroupBinding_GroupVariableNameNotValid�7\Cqt_GroupBy_AggregateColumnExistsAsGroupColumn38HCqt_GroupBy_AtLeastOneKeyOrAggregate�8HCqt_GroupBy_KeyNotEqualityComparable�8JCqt_GroupBy_MoreThanOneGroupAggregateC9<Cqt_InvalidTypeForSetOperation�9>Cqt_IsNull_CollectionNotAllowed�9,Cqt_IsNull_InvalidType+:>Cqt_Join_DuplicateVariableNames�:PCqt_Limit_ConstantOrParameterRefRequired�:2Cqt_Limit_IntegerRequired;;DCqt_Limit_NonNegativeLimitRequireda;HCqt_Metadata_EdmMemberIncorrectSpace�;RCqt_Metadata_EntitySetEntityContainerNull�;HCqt_Metadata_EntitySetIncorrectSpaceC<ZCqt_Metadata_EntityTypeEmptyKeyMembersInvalid�<XCqt_Metadata_EntityTypeNullKeyMembersInvalid�<FCqt_Metadata_FunctionIncorrectSpace:=XCqt_Metadata_FunctionParameterIncorrectSpace�=PCqt_Metadata_FunctionReturnParameterNull>HCqt_Metadata_TypeUsageIncorrectSpacee>ZCqt_NewInstance_CannotInstantiateAbstractType�>^Cqt_NewInstance_CannotInstantiateMemberlessType?LCqt_NewInstance_CollectionTypeRequireds?xCqt_NewInstance_IncompatibleRelatedEntity_SourceTypeNotValid�?LCqt_NewInstance_StructuralTypeRequireda@>Cqt_Not_BooleanArgumentRequired�@>Cqt_Or_BooleanArgumentsRequired�@PCqt_Property_InstanceRequiredForInstance�@<Cqt_Ref_PolymorphicArgRequiredKA2Cqt_RelNav_NoCompositions�A4Cqt_RelNav_WrongSourceType�AnCqt_RelatedEntityRef_TargetEndFromDifferentRelationshipABZCqt_RelatedEntityRef_TargetEndMustBeAtMostOne�BZCqt_RelatedEntityRef_TargetEndSameAsSourceEndC\Cqt_RelatedEntityRef_TargetEntityNotCompatibleHCNCqt_RelatedEntityRef_TargetEntityNotRefDNCqt_Skip_ConstantOrParameterRefRequiredaD0Cqt_Skip_IntegerRequired�DBCqt_Skip_NonNegativeCountRequired�D<Cqt_Sort_EmptyCollationInvalidEDCqt_Sort_NonStringCollationInvalidQE0Cqt_Sort_OrderComparable�ETCqt_UDF_FunctionDefinitionGenerationFailed�EXCqt_UDF_FunctionDefinitionResultTypeMismatchcF^Cqt_UDF_FunctionDefinitionWithCircularReference�F>Cqt_UDF_FunctionHasNoDefinitionvG8Cqt_Unary_CollectionRequired�G>Cqt_Util_CheckListDuplicateNameH<Cqt_Util_CheckListEmptyInvalidwHhCqt_Validator_InvalidIncompatibleParameterReferences�H^Cqt_Validator_InvalidIncorrectDataSpaceMetadataIVCqt_Validator_InvalidOtherWorkspaceMetadatawI6Cqt_Validator_VarRefInvalid�I@Cqt_Validator_VarRefTypeMismatchJXCreateRefTypeIdentifierMustBeASubOrSuperType�J\CreateRefTypeIdentifierMustSpecifyAnEntityType�JCtxAliasGK2CtxAliasedNamespaceImportZKCtxAnd|KCtxAnyElement�KCtxApplyClause�KCtxBetween�KCtxCase�KCtxCaseElse�KCtxCaseWhenThen�KCtxCast�K8CtxCollatedOrderByClauseItemL6CtxCollectionTypeDefinition/L(CtxCommandExpressionKLCtxCreateRef\LCtxDerefoLCtxDivide~LCtxElement�LCtxEquals�L(CtxEscapedIdentifier�LCtxExcept�LCtxExists�L"CtxExpressionList�LCtxFlattenM$CtxFromApplyClauseMCtxFromClause&M"CtxFromClauseItem4M"CtxFromClauseListJM"CtxFromJoinClause^MCtxFunctionqM*CtxFunctionDefinition�MCtxGreaterThan�M&CtxGreaterThanEqual�M CtxGroupByClause�M"CtxGroupPartition�MCtxHavingClause�MCtxIdentifierN
CtxInNCtxIntersect$NCtxIsNotNull7NCtxIsNotOfLNCtxIsNull_NCtxIsOfpNCtxJoinClauseNCtxJoinOnClause�NCtxKey�NCtxLessThan�N CtxLessThanEqual�NCtxLike�N"CtxLimitSubClause�NCtxLiteralOCtxMemberAccessOCtxMethod5OCtxMinus^OCtxModulusuOCtxMultiply�OCtxMultisetCtor�O$CtxNamespaceImport�O,CtxNamespaceImportList�OCtxNavigate�OCtxNotPCtxNotBetweenPCtxNotEqual*PCtxNotIn?PCtxNotLikeSPCtxNullLiteralePCtxOfTypetPCtxOfTypeOnly�P
CtxOr�P CtxOrderByClause�P(CtxOrderByClauseItem�PCtxOverlaps�PCtxParen�PCtxPlusQ$CtxQueryExpressionQ"CtxQueryStatement)QCtxRef<Q(CtxRefTypeDefinitionIQCtxRelationshipfQ&CtxRelationshipList|QCtxRowCtor�Q(CtxRowTypeDefinition�Q$CtxSelectRowClause�Q(CtxSelectValueClause�QCtxSet�Q&CtxSimpleIdentifier�Q CtxSkipSubClause	RCtxTopSubClause#RCtxTreat3RCtxTypeCtorBRCtxTypeName]R.CtxTypeNameWithTypeSpecgRCtxUnaryMinus�RCtxUnaryPlus�RCtxUnion�RCtxUnionAll�RCtxWhereClause�R(CycleInTypeHierarchy�R"DataCategory_DataS&DataCategory_UpdateS*DbParameter_Direction$S DbParameter_SizeNS0DbParameter_SourceColumn�S2DbParameter_SourceVersionJT,DeRefArgIsNotOfRefType�T"DefaultNotAllowedUDDifferentSchemaVersionInCollectionbU&DuplicateAnnotation�U DuplicateEndName)VDDuplicateEntityContainerMemberNameMV.DuplicateEntitySetTable�V&DuplicateEnumMemberCW&DuplicateMemberNamelWXDuplicateMemberNameInExtendedEntityContainer�WRDuplicatePropertyNameSpecifiedInEntityKey�X6DuplicatedFunctionoverloads6Y@DuplicatedInlineFunctionOverloadZ(DuplicationOperation�Z&ELinq_AnonymousType�Z"ELinq_ClosureType�ZRELinq_CreateOrderedEnumerableNotSupported�Z&ELinq_CycleDetectedG[^ELinq_EdmFunctionAttributeParameterNameNotValidj[lELinq_EdmFunctionAttributedFunctionWithWrongReturnType\6ELinq_EdmFunctionDirectCall�\@ELinq_ExpressionMustBeIQueryable]2ELinq_InvalidOfTypeResult|]>ELinq_MethodNotDirectlyCallable^0ELinq_NotPropertyOrFielde^>ELinq_PropertyIndexNotSupported�^,ELinq_SkipWithoutOrder�^@ELinq_ThenByDoesNotFollowOrderByB_@ELinq_UnboundParameterExpression�_RELinq_UnexpectedTypeForNavigationProperty�_4ELinq_UnhandledBindingTypem`:ELinq_UnhandledExpressionType�`0ELinq_UnrecognizedMember�`NELinq_UnresolvableFunctionForExpression=aFELinq_UnresolvableFunctionForMember�aFELinq_UnresolvableFunctionForMethodbbELinq_UnresolvableFunctionForMethodAmbiguousMatchdbVELinq_UnresolvableFunctionForMethodNotFound cXELinq_UnresolvableStoreFunctionForExpression�cPELinq_UnresolvableStoreFunctionForMemberTdRELinq_UnsupportedAsUnicodeAndAsNonUnicode�d0ELinq_UnsupportedBindingHe*ELinq_UnsupportedCast�e<ELinq_UnsupportedCastToDecimal>f6ELinq_UnsupportedComparison�f2ELinq_UnsupportedConstant>g8ELinq_UnsupportedConstructor�gDELinq_UnsupportedDifferentContextsh>ELinq_UnsupportedEnumerableTypeoh>ELinq_UnsupportedExpressionType�hTELinq_UnsupportedHeterogeneousInitializersi0ELinq_UnsupportedInclude/j:ELinq_UnsupportedInitializers�j.ELinq_UnsupportedIsOrAs�j8ELinq_UnsupportedKeySelector�k0ELinq_UnsupportedMergeAs�k.ELinq_UnsupportedMethodLlVELinq_UnsupportedMethodSuggestedAlternative�l8ELinq_UnsupportedNestedFirst#m:ELinq_UnsupportedNestedSingle�m8ELinq_UnsupportedNominalTypeLn:ELinq_UnsupportedNullConstant�n8ELinq_UnsupportedPassthrough8o@ELinq_UnsupportedQueryableMethod{o<ELinq_UnsupportedRefComparison�o<ELinq_UnsupportedRowComparison)pHELinq_UnsupportedRowMemberComparison�pDELinq_UnsupportedRowTypeComparison�pBELinq_UnsupportedStringRemoveCase�pJELinq_UnsupportedTrimStartTrimEndCaseq*ELinq_UnsupportedType]qLELinq_UnsupportedUseOfContextParameter�qTELinq_UnsupportedVBDatePartInvalidIntervalr\ELinq_UnsupportedVBDatePartNonConstantIntervalor`EdmMembersDefiningTypeDoNotAgreeWithMetadataType�r>EdmVersionNotSupportedByRuntime<s:ElementOperatorIsNotSupported�s EmptyCommandText"t$EmptyDefiningQuerystEmptyFile�tEmptyName0u*EmptySchemaTextReaderEu<EndNameAlreadyDefinedDuplicate�uhEndWithManyMultiplicityCannotHaveOperationsSpecified�u,EndWithoutMultiplicity�vJEntityClient_CannotCloneStoreProvider�v>EntityClient_CannotDeduceDbType-wBEntityClient_CannotGetCommandText�wBEntityClient_CannotGetCommandTree�wFEntityClient_CannotReopenConnectionGxrEntityClient_CannotReprepareCommandDefinitionBasedCommandfxBEntityClient_CannotSetCommandText`yBEntityClient_CannotSetCommandTree�yLEntityClient_ClosedConnectionForUpdatezZEntityClient_CommandDefinitionExecutionFailedWz^EntityClient_CommandDefinitionPreparationFailed�zFEntityClient_CommandExecutionFailed{XEntityClient_CommandTreeMetadataIncompatiblet{FEntityClient_ConnectionMustBeClosed�{<EntityClient_ConnectionNotOpen.|DEntityClient_ConnectionStateBrokenK|DEntityClient_ConnectionStateClosedR|PEntityClient_ConnectionStringMissingInfoZ|dEntityClient_ConnectionStringNeededBeforeOperation�|DEntityClient_DataReaderIsStillOpen}LEntityClient_DbConnectionHasNoProvider�}ZEntityClient_DoesNotImplementIServiceProvider�}HEntityClient_DuplicateParameterNames�~>EntityClient_EmptyParameterName�~XEntityClient_EntityParameterEdmTypeNotScalar}^EntityClient_EntityParameterInconsistentEdmType�PEntityClient_ErrorInBeginningTransaction�JEntityClient_ErrorInClosingConnectiona�PEntityClient_ExecutingOnClosedConnectionĀ^EntityClient_ExtraParametersWithNamedConnection1�FEntityClient_FailedToGetInformationu�VEntityClient_FunctionImportEmptyCommandText�\EntityClient_FunctionImportMustBeNonComposable3�bEntityClient_IncompatibleNavigationPropertyResult��FEntityClient_InvalidNamedConnection�LEntityClient_InvalidParameterDirection��BEntityClient_InvalidParameterNameZ�BEntityClient_InvalidStoreProvider�\EntityClient_InvalidStoredProcedureCommandTextI�REntityClient_InvalidTransactionForCommand��hEntityClient_ItemCollectionsNotRegisteredInWorkspaceE�@EntityClient_KeywordNotSupportedx�DEntityClient_NestedNamedConnection��4EntityClient_NoCommandText
�FEntityClient_NoConnectionForAdapterI�FEntityClient_NoConnectionForCommand��NEntityClient_NoStoreConnectionForUpdateڇBEntityClient_ProviderGeneralErrorG�DEntityClient_ProviderSpecificErrors�PEntityClient_RequiresNonStoreCommandTree��REntityClient_ReturnedNullOnProviderMethod�hEntityClient_SettingsCannotBeChangedOnOpenConnection��<EntityClient_StoreReaderFailedG�4EntityClient_TooFewColumns��LEntityClient_TransactionAlreadyStarted �NEntityClient_UnableToFindFunctionImport��`EntityClient_UnableToFindFunctionImportContainer݋BEntityClient_UnknownParameterType7�FEntityClient_UnmappedFunctionImportόFEntityClient_UnsupportedCommandType%�<EntityClient_UnsupportedDbType��6EntityClient_ValueNotString��>EntityConnectionString_Metadata�6EntityConnectionString_NameO�>EntityConnectionString_Providery�^EntityConnectionString_ProviderConnectionString��8EntityContainerAlreadyExists�BEntityContainerCannotExtendItselfX�4EntityDataCategory_Context��PEntityDataCategory_NamedConnectionString��2EntityDataCategory_SourceЏ*EntityKeyMustBeScalar׏DEntityKeyTypeCurrentlyNotSupportedc�PEntityKeyTypeCurrentlyNotSupportedInSSDLՐ2EntityKey_CannotChangeKeyz�@EntityKey_DataRecordMustBeEntity��@EntityKey_DoesntMatchKeyOnEntity�BEntityKey_EntityKeyMustHaveValues��>EntityKey_EntitySetDoesNotMatch��>EntityKey_EntityTypesDoNotMatch,�PEntityKey_IncorrectNumberOfKeyValuePairs��8EntityKey_IncorrectValueType'�*EntityKey_InvalidName��NEntityKey_InvalidQualifiedEntitySetName��<EntityKey_MissingEntitySetName?�2EntityKey_MissingKeyValueu�fEntityKey_NoCorrespondingOSpaceTypeForEnumKeyMember�NEntityKey_NoNullsAllowedInKeyValuePairsl�,EntityKey_NullKeyValue��0EntityKey_UnexpectedNullK�JEntityParameterCollectionInvalidIndexɗZEntityParameterCollectionInvalidParameterName�XEntityParameterCollectionRemoveInvalidObjectm�VEntityParameterContainedByAnotherCollectionȘ&EntityParameterNull�jEntityProxyTypeInfo_CannotSetEntityCollectionProperty^�NEntityProxyTypeInfo_DuplicateOSpaceTypeęPEntityProxyTypeInfo_ProxyHasWrongWrapperr�\EntityProxyTypeInfo_ProxyMetadataIsUnavailable��vEntityReference_CannotAddMoreThanOneEntityToEntityReference��rEntityReference_CannotChangeReferentialConstraintProperty�HEntityReference_CannotSetSpecialKeys4�LEntityReference_EntityKeyValueMismatch��\EntityReference_ExpectedReferenceGotCollection9�hEntityReference_LessThanExpectedRelatedEntitiesFound_�hEntityReference_MoreThanExpectedRelatedEntitiesFound$�6EntitySetInAnotherContainer�(EntitySetNotInCSPaceD�,EntitySetTypeHasNoKeysz�*EntityTypesDoNotAgreeǡVEntity_EntityCantHaveMultipleChangeTrackers$�TEnumMemberValueOutOfItsUnderylingTypeRange�FExprIsNotValidEntitySetForCreateRefѢ,ExpressionCannotBeNull�4ExpressionMustBeCollection<�6ExpressionMustBeNumericTypev�6ExpressionTypeMustBeBoolean��<ExpressionTypeMustBeEntityTypeܣFExpressionTypeMustBeEqualComparable �>ExpressionTypeMustBeNominalTypeZ�BExpressionTypeMustNotBeCollection��ExtraInfo�JFacetDeclarationRequiresTypeAttribute/�FacetNotAllowedi�*FacetsOnNonScalarType��:FailedToFindCSpaceTypeMappingܥ4FailedToFindClrTypeMapping�:FailedToFindOSpaceTypeMapping%�@FailedToResolveAggregateFunctionE�@FailedToRetrieveProviderManifest~�dFunctionImportCollectionAndRefParametersNotAllowed��dFunctionImportComposableAndSideEffectingNotAllowedE�^FunctionImportEntitySetAndEntitySetPathDeclared�ZFunctionImportEntityTypeDoesNotMatchEntitySet}�ZFunctionImportNonNullableParametersNotAllowed�lFunctionImportReturnEntitiesButDoesNotSpecifyEntitySetx�`FunctionImportSpecifiesEntitySetButNotEntityType��<FunctionImportUnknownEntitySet�RFunctionImportWithUnsupportedReturnTypeV1g�VFunctionImportWithUnsupportedReturnTypeV1_1�RFunctionImportWithUnsupportedReturnTypeV2V�VFunctionWithNonEdmPrimitiveTypeNotSupported��PFunctionWithNonPrimitiveTypeNotSupported��JGeneralExceptionAsQueryInnerException�"GeneralQueryErrorE�>Generated_View_Type_Super_Class^�.Generated_Views_ChangedЭ<Generated_Views_Invalid_Extent"�6GeneratorErrorSeverityErrorm�:GeneratorErrorSeverityUnknowns�:GeneratorErrorSeverityWarning{�$GenericSyntaxError��.GenericTypeNotSupported��4GroupPartitionOutOfContext
�.GroupVarNotFoundInScopeZ�BGroupingKeysMustBeEqualComparable��2HavingRequiresGroupClause�FImcompatibleCreateRefKeyElementType+�8ImcompatibleCreateRefKeyTypez�InFromClauseİInGroupClauseްInRowCtor�,InSelectProjectionList�2IncorrectProviderManifest7�:InferRelationshipEndAmbiguousW�TInferRelationshipEndFailedNoEntitySetMatchE�TInferRelationshipEndGivesAlreadyDefinedEnd�8InnerJoinMustHaveOnPredicate��InvalidAction� InvalidAliasNameB�NInvalidArgumentTypeForAggregateFunction��<InvalidAssociationTypeForUnion�4InvalidBaseTypeForItemType�8InvalidBaseTypeForNestedTypee�@InvalidBaseTypeForStructuredType��,InvalidCaseResultTypes�6InvalidCaseWhenThenNullType4�InvalidCast��2InvalidCastExpressionType�InvalidCastType�6InvalidCollectionForMappingP�4InvalidCollectionSpecified��$InvalidComplexTypex�.InvalidCreateRefKeyType�.InvalidCtorArgumentType:�(InvalidCtorUseOnType��8InvalidDateTimeOffsetLiteral+�InvalidDay{�"InvalidDayInMonth��(InvalidDeRefProperty��FInvalidDefaultBinaryWithNoMaxLengthZ�*InvalidDefaultBoolean�,InvalidDefaultDateTime@�8InvalidDefaultDateTimeOffset��*InvalidDefaultDecimal�6InvalidDefaultFloatingPoint��$InvalidDefaultGuid�,InvalidDefaultIntegral��$InvalidDefaultTime��:InvalidDistinctArgumentInCtorF�NInvalidDistinctArgumentInNonAggFunction��PInvalidDocumentationBothTextAndStructureȿ"InvalidEDMVersionC�,InvalidEmptyIdentifiert�"InvalidEmptyQuery��:InvalidEmptyQueryTextArgument�>InvalidEndEntitySetTypeMismatch+�LInvalidEndRoleInRelationshipConstrainti�FInvalidEntityContainerNameInExtends��(InvalidEntityEndName�4InvalidEntityParameterType"�:InvalidEntityRootTypeArgument��(InvalidEntitySetName��:InvalidEntitySetNameReference&�(InvalidEntitySetTypev�2InvalidEntityTypeArgument��2InvalidEnumUnderlyingTypeF�0InvalidEscapedIdentifier��DInvalidEscapedIdentifierUnbalanced��@InvalidExpressionResolutionClassE�(InvalidFileExtension��,InvalidFlattenArgument��VInvalidFromPropertyInRelationshipConstraint�>InvalidGroupIdentifierReference�InvalidHour��DInvalidImplicitRelationshipFromEnd��@InvalidImplicitRelationshipToEnd��"InvalidInExprArgs�4InvalidJoinLeftCorrelation��$InvalidKeyArgument��>InvalidKeyKeyDefinedInBaseClass� InvalidKeyMember��(InvalidKeyNoProperty��,InvalidKeyNullablePart�4InvalidKeyTypeForCollationn�(InvalidLiteralFormat��(InvalidMaxLengthSize��@InvalidMemberNameMatchesTypeName�HInvalidMetadataMemberClassResolutiony�2InvalidMetadataMemberName��&InvalidMetadataPath#�InvalidMinute��HInvalidModeForWithRelationshipClause2�InvalidMonth��dInvalidMultiplicityFromRoleToPropertyNonNullableV1��dInvalidMultiplicityFromRoleToPropertyNonNullableV2��^InvalidMultiplicityFromRoleToPropertyNullableV1c�\InvalidMultiplicityFromRoleUpperBoundMustBeOne
�ZInvalidMultiplicityToRoleLowerBoundMustBeZero��ZInvalidMultiplicityToRoleUpperBoundMustBeMany��XInvalidMultiplicityToRoleUpperBoundMustBeOne��InvalidNamep�*InvalidNamespaceAlias��.InvalidNamespaceInUsing��@InvalidNamespaceOrAliasSpecifiedD�*InvalidNullArithmetic��*InvalidNullComparison�LInvalidNullLiteralForNonNullableMemberd�ZInvalidNumberOfParametersForAggregateFunction��RInvalidOperationMultipleEndsInAssociation�*InvalidOperatorSymbolz�,InvalidParameterFormat��PInvalidParameterTypeForAggregateFunction��DInvalidPlaceholderRootTypeArgumentC�<InvalidPlaceholderTypeArgument��BInvalidPrecisionAndScaleSpecified�8InvalidPredicateForCrossJoin��0InvalidPrimitiveTypeKind��NInvalidPropertyInRelationshipConstraint�&InvalidPropertyTypeO�.InvalidPunctuatorSymbol��,InvalidQueryResultType��DInvalidRelationshipEndMultiplicityS�4InvalidRelationshipEndType��2InvalidRelationshipMember*�4InvalidRelationshipSetName\�4InvalidRelationshipSetType��,InvalidRootComplexType��$InvalidRootRowTypel�InvalidRowType�� InvalidSavePoint0�0InvalidSchemaEncountered^�"InvalidScopeIndex��InvalidSecond��FInvalidSelectValueAliasedExpression��,InvalidSelectValueList{�.InvalidSimpleIdentifier��>InvalidSimpleIdentifierNonASCII��InvalidSize��*InvalidStringArgument��0InvalidSystemReferenceId!�RInvalidToPropertyInRelationshipConstraintn�HInvalidTypeForWithRelationshipClause%�2InvalidUnarySetOpArgumentn�RInvalidUnsignedTypeForUnaryMinusOperation��&InvalidUseOfWebPath��\InvalidValueForParameterTypeSemanticsAttribute"�XInvalidWithRelationshipTargetEndMultiplicity��InvalidYear��:Iqt_CTGen_UnexpectedAggregate1�4Iqt_CTGen_UnexpectedVarDef\�<Iqt_CTGen_UnexpectedVarDefListn�2Iqt_General_UnsupportedOp��"IsNullInvalidType��>ItemCollectionAlreadyRegistered"�*ItemDuplicateIdentity[�&ItemInvalidIdentity��,KeyMissingOnEntityType��&KeyMustBeCorrelated3�JLeftSetExpressionArgsMustBeCollection��.LikeArgMustBeStringType��:LiteralTypeNotFoundInMetadata��.LiteralTypeNotSupported4�&LocalizedCollectionc�LocalizedColumnl� LocalizedComplexu�LocalizedEntity��DLocalizedEntityContainerExpression��&LocalizedEnumMember��"LocalizedFunction��.LocalizedInlineFunction�� LocalizedKeyword��LocalizedLeft��LocalizedLine��BLocalizedMetadataMemberExpression��$LocalizedNamespace�LocalizedNear�$LocalizedPrimitive%�$LocalizedReference/�LocalizedRight:�LocalizedRowB�LocalizedTermG�LocalizedTypeS�0LocalizedValueExpressionY�6MalformedSingleQuotePayloadg�:MalformedStringLiteralPayload��MalformedXml�XMapping_AbstractTypeMappingToNonAbstractTypef�BMapping_AllQueryViewAtCompileTime��XMapping_AlreadyMapped_StorageEntityContainer�JMapping_CannotMapCLRTypeMultipleTimesA�DMapping_ConditionValueTypeMismatch��HMapping_Default_OCMapping_Clr_Member��JMapping_Default_OCMapping_Clr_Member21�XMapping_Default_OCMapping_Invalid_MemberTypev�ZMapping_Default_OCMapping_MemberKind_Mismatch��^Mapping_Default_OCMapping_Member_Count_Mismatch��\Mapping_Default_OCMapping_Member_Type_Mismatch�\Mapping_Default_OCMapping_MultiplicityMismatch��@Mapping_DifferentEdmStoreVersion7�NMapping_DifferentMappingEdmStoreVersion��PMapping_DistinctFlagInReadWriteContainer�\Mapping_Duplicate_CdmAssociationSet_StorageMap��ZMapping_Duplicate_PropertyMap_CaseInsensitive�,Mapping_Duplicate_Type{�.Mapping_Empty_QueryView��<Mapping_Empty_QueryView_OfType��DMapping_Empty_QueryView_OfTypeOnly%�lMapping_EntitySetMismatchOnAssociationSetEnd_QueryViews�HMapping_EnumTypeMappingToNonEnumType�.Mapping_Enum_EmptyValue��2Mapping_Enum_InvalidValue�JMapping_Enum_OCMapping_MemberMismatchc�\Mapping_Enum_OCMapping_UnderlyingTypesMismatch�hMapping_FunctionImport_CannotInferTargetFunctionKeys��bMapping_FunctionImport_ConditionValueTypeMismatchx��Mapping_FunctionImport_EntityTypeMappingForFunctionNotReturningEntitySet�PMapping_FunctionImport_FunctionAmbiguous��bMapping_FunctionImport_FunctionImportDoesNotExist�pMapping_FunctionImport_FunctionImportMappedMultipleTimes�vMapping_FunctionImport_ImplicitMappingForAbstractReturnType6��Mapping_FunctionImport_ImportParameterHasNoCorrespondingTargetParameter��hMapping_FunctionImport_IncompatibleEnumParameterType�`Mapping_FunctionImport_IncompatibleParameterModeB�`Mapping_FunctionImport_IncompatibleParameterType��vMapping_FunctionImport_InvalidContentEntityTypeForEntitySet�PMapping_FunctionImport_PropertyNotMapped���Mapping_FunctionImport_ResultMappingCountDoesNotMatchResultCount�vMapping_FunctionImport_ResultMapping_InvalidCTypeCTExpectedv�vMapping_FunctionImport_ResultMapping_InvalidCTypeETExpected�bMapping_FunctionImport_ResultMapping_InvalidSType���Mapping_FunctionImport_ResultMapping_MappedTypeDoesNotMatchReturnType!�pMapping_FunctionImport_RowsAffectedParameterDoesNotExist��pMapping_FunctionImport_RowsAffectedParameterHasWrongMode�pMapping_FunctionImport_RowsAffectedParameterHasWrongTypeD�hMapping_FunctionImport_ScalarMappingToMulticolumnTVF��`Mapping_FunctionImport_ScalarMappingTypeMismatch>�`Mapping_FunctionImport_StoreFunctionDoesNotExist��jMapping_FunctionImport_TargetFunctionMustBeComposable�pMapping_FunctionImport_TargetFunctionMustBeNonComposable���Mapping_FunctionImport_TargetParameterHasNoCorrespondingImportParameterVTMapping_FunctionImport_UnreachableIsTypeOf�LMapping_FunctionImport_UnreachableTypeYLMapping_FunctionImport_UnsupportedType�*Mapping_General_ErrorZjMapping_InvalidContent_AbstractEntity_FunctionMappingx\Mapping_InvalidContent_AbstractEntity_IsOfType�TMapping_InvalidContent_AbstractEntity_Type^Mapping_InvalidContent_AssociationSet_Condition`LMapping_InvalidContent_Association_Set�NMapping_InvalidContent_Association_Type!ZMapping_InvalidContent_Association_Type_EmptyBMapping_InvalidContent_Cdm_Member�:Mapping_InvalidContent_ColumnuFMapping_InvalidContent_Complex_Type�hMapping_InvalidContent_ConditionMapping_Both_Members0fMapping_InvalidContent_ConditionMapping_Both_Values�`Mapping_InvalidContent_ConditionMapping_Computed�lMapping_InvalidContent_ConditionMapping_Either_MembersejMapping_InvalidContent_ConditionMapping_Either_Values�jMapping_InvalidContent_ConditionMapping_InvalidMember��Mapping_InvalidContent_ConditionMapping_InvalidPrimitiveTypeKind/bMapping_InvalidContent_ConditionMapping_NonScalar�VMapping_InvalidContent_Container_SubElement�VMapping_InvalidContent_Duplicate_Cdm_Member@	bMapping_InvalidContent_Duplicate_Condition_Member�	HMapping_InvalidContent_Emtpty_SetMap
4Mapping_InvalidContent_EndV
DMapping_InvalidContent_EndProperty�
LMapping_InvalidContent_EntityContainer4BMapping_InvalidContent_Entity_Set�DMapping_InvalidContent_Entity_Type�bMapping_InvalidContent_Entity_Type_For_Entity_SetWbMapping_InvalidContent_ForeignKey_Association_Set�pMapping_InvalidContent_ForeignKey_Association_Set_PKtoPK
<Mapping_InvalidContent_General�
XMapping_InvalidContent_IsTypeOfNotTerminated�
ZMapping_InvalidContent_StorageEntityContainer�
8Mapping_InvalidContent_TableoJMapping_InvalidContent_Table_Expected�XMapping_InvalidContent_TypeMapping_QueryView�HMapping_InvalidMappingSchema_ParsingtNMapping_InvalidMappingSchema_validation�hMapping_Invalid_Association_Type_For_Association_Set5HMapping_Invalid_CSRootElementMissing�HMapping_Invalid_CSide_ScalarProperty<Mapping_Invalid_Member_MappingY2Mapping_Invalid_QueryView�4Mapping_Invalid_QueryView2a<Mapping_Invalid_QueryView_Type�ZMapping_Invalid_Query_Views_MissingSetClosureSfMapping_ItemWithSameNameExistsBothInCSpaceAndSSpace/\Mapping_ModificationFunction_AmbiguousFunction�fMapping_ModificationFunction_AmbiguousResultBinding/�Mapping_ModificationFunction_AssociationEndMappingForeignKeyAssociation��Mapping_ModificationFunction_AssociationEndMappingInvalidForEntityType	hMapping_ModificationFunction_AssociationSetAmbiguousglMapping_ModificationFunction_AssociationSetCardinality(nMapping_ModificationFunction_AssociationSetDoesNotExist��Mapping_ModificationFunction_AssociationSetFromRoleIsNotEntitySet�Mapping_ModificationFunction_AssociationSetNotMappedForOperationwvMapping_ModificationFunction_AssociationSetRoleDoesNotExist3`Mapping_ModificationFunction_ComplexTypeNotFound�ZMapping_ModificationFunction_In_Table_Context�\Mapping_ModificationFunction_MissingEntityType7ZMapping_ModificationFunction_MissingParameter�\Mapping_ModificationFunction_MissingSetClosureGVMapping_ModificationFunction_MissingVersionpxMapping_ModificationFunction_MultipleEndsOfAssociationMapped�VMapping_ModificationFunction_Multiple_Types�ZMapping_ModificationFunction_NotValidFunctionhlMapping_ModificationFunction_NotValidFunctionParameter�`Mapping_ModificationFunction_ParameterBoundTwice�\Mapping_ModificationFunction_ParameterNotFound�ZMapping_ModificationFunction_PropertyNotFound6 VMapping_ModificationFunction_PropertyNotKey_ tMapping_ModificationFunction_PropertyParameterTypeMismatch� nMapping_ModificationFunction_RedundantEntityTypeMappingq!XMapping_ModificationFunction_UnknownFunction�!bMapping_ModificationFunction_VersionMustBeCurrent�!dMapping_ModificationFunction_VersionMustBeOriginalI"ZMapping_ModificationFunction_WrongComplexType�"@Mapping_NotFound_EntityContainer�"4Mapping_Object_InvalidType=#>Mapping_ProviderReturnsNullTypez#HMapping_Provider_WrongConnectionType�#DMapping_Provider_WrongManifestType�#NMapping_QueryViewMultipleTypeInTypeName$DMapping_QueryView_Duplicate_OfTypeT$LMapping_QueryView_Duplicate_OfTypeOnly�$>Mapping_QueryView_For_Base_Type�$<Mapping_QueryView_PropertyMaps7%LMapping_QueryView_TypeName_Not_Defined�%8Mapping_Storage_InvalidSpace&^Mapping_StoreTypeMismatch_ScalarPropertyMapping�&6Mapping_TableName_QueryView�'HMapping_TypeName_For_First_QueryView�'VMapping_UnsupportedExpressionKind_QueryViewJ(RMapping_UnsupportedFunctionCall_QueryView�(VMapping_UnsupportedInitialization_QueryViewk)RMapping_UnsupportedPropertyKind_QueryView*NMapping_UnsupportedScanTarget_QueryView�*LMapping_Views_For_Extent_Not_GeneratedR+JMaterializer_AddedEntityAlreadyExists�+TMaterializer_CannotReEnumerateQueryResults,@Materializer_InvalidCastNullableY,BMaterializer_InvalidCastReference�,<Materializer_NullReferenceCast-DMaterializer_PropertyIsNotNullable�-TMaterializer_PropertyIsNotNullableWithName�-8Materializer_RecyclingEntity).8Materializer_SetInvalidValue�.8Materializer_UnsupportedTypeG/HMemberDoesNotBelongToEntityContainer�/*MemberInvalidIdentity�/,Metadata_General_Error%08MethodInvocationNotSupportedC0.MinAndMaxMustBePositived0`MinAndMaxValueMustBeDifferentForNonConstantFacet�0PMinAndMaxValueMustBeSameForConstantFacet01(MinMustBeLessThanMax�1dMismatchNumberOfPropertiesinRelationshipConstraint2FMissingConstraintOnRelationshipType�2FMissingDefaultValueForConstantFacet�22MissingEntityContainerEnd43.MissingFacetDescription�3MissingName
42MissingNamespaceAttribute04<MoreThanOneItemMatchesIdentityl4<MultipleDefinitionsOfParameter�4:MultipleDefinitionsOfVariable�4BMultisetElemsAreNotTypeCompatible.52NamespaceAliasAlreadyUsed[50NamespaceAlreadyImported�5ZNavigationPropertyRelationshipEndTypeMismatch�5@NeedNotUseSystemNamespaceInUsing�6LNestedAggregateCannotBeUsedInAggregate'7.NestedClassNotSupportedg7@NewTypeConflictsWithExistingType�76NoAggrFunctionOverloadMatch58HNoCanonicalAggrFunctionOverloadMatch�8@NoCanonicalFunctionOverloadMatchV9PNoCodeGenNamespaceInStructuralAnnotation$:(NoCollectionForSpacei:.NoFunctionOverloadMatch�:*NoStoreTypeForEdmType�:VNonComposableFunctionHasDisallowedAttributeK;ZNonComposableFunctionMustNotDeclareReturnType�;,NotAMemberOfCollection< NotAMemberOfType�<$NotASuperOrSubType�<2NotBinaryTypeForTypeUsage"=BNotDateTimeOffsetTypeForTypeUsageI=6NotDateTimeTypeForTypeUsage�=4NotDecimalTypeForTypeUsage�=&NotInNamespaceAlias�=*NotInNamespaceNoAlias>*NotNamespaceQualifiedE>2NotStringTypeForTypeUsage�>.NotTimeTypeForTypeUsage�>"NotValidInputPath?\NullLiteralCannotBePromotedToCollectionOfNullsn?PNullParameterForEdmRelationshipAttribute�?^NullRelationshipNameforEdmRelationshipAttribute�?HNumberOfTypeCtorIsLessThenFormalSpecG@HNumberOfTypeCtorIsMoreThenFormalSpecp@JObjectContext_AcceptAllChangesFailure�@`ObjectContext_CannotAttachEntityWithTemporaryKey�ATObjectContext_CannotAttachEntityWithoutKey�AnObjectContext_CannotDeleteEntityNotInObjectStateManager3BnObjectContext_CannotDetachEntityNotInObjectStateManager}BnObjectContext_CannotExplicitlyLoadDetachedRelationships�BnObjectContext_CannotLoadReferencesUsingDifferentContextSCVObjectContext_CannotSetDefaultContainerName�CTObjectContext_ClientEntityRemovedFromStore;DLObjectContext_CommitWithConceptualNull�DjObjectContext_ContainerQualifiedEntitySetNameRequired7FNObjectContext_EntitiesHaveDifferentType!GjObjectContext_EntityAlreadyExistsInObjectStateManager�GXObjectContext_EntityContainerNotFoundForNameaHZObjectContext_EntityMustBeUnchangedOrModified�HlObjectContext_EntityMustBeUnchangedOrModifiedOrDeleted,IRObjectContext_EntityNotInObjectSet_Delete�IRObjectContext_EntityNotInObjectSet_Detach+KTObjectContext_EntityNotTrackedOrHasTempKeygL\ObjectContext_EntitySetNameOrEntityKeyRequiredeMLObjectContext_EntitySetNotFoundForNameNrObjectContext_ExecuteCommandWithMixOfDbParameterAndValues)NnObjectContext_ExecuteFunctionCalledWithNonQueryFunction�NhObjectContext_ExecuteFunctionCalledWithNullParameterOjObjectContext_ExecuteFunctionCalledWithScalarFunctionTORObjectContext_ExecuteFunctionTypeMismatch+PFObjectContext_InvalidCommandTimeout�P>ObjectContext_InvalidConnection�PJObjectContext_InvalidConnectionStringaQ@ObjectContext_InvalidDataAdapter�QRObjectContext_InvalidDefaultContainerNameXRVObjectContext_InvalidEntitySetForStoreQuery�RFObjectContext_InvalidEntitySetInKeySVObjectContext_InvalidEntitySetInKeyFromNamezSLObjectContext_InvalidEntitySetOnEntity�S@ObjectContext_InvalidEntityStateGT\ObjectContext_InvalidObjectSetTypeForEntitySet�TLObjectContext_InvalidRelationshipState9ULObjectContext_InvalidTypeForStoreQuery	V@ObjectContext_MetadataHasChanged^VhObjectContext_MultipleEntitySetsFoundInAllContainers+WlObjectContext_MultipleEntitySetsFoundInSingleContainerlXJObjectContext_NoEntitySetFoundForType�YHObjectContext_NoMappingForEntityType#ZHObjectContext_NthElementInAddedStatejZFObjectContext_NthElementIsDuplicate�Z<ObjectContext_NthElementIsNullr[^ObjectContext_NthElementNotInObjectStateManager�[8ObjectContext_ObjectDisposedb\8ObjectContext_ObjectNotFound�\FObjectContext_QualfiedEntitySetName]RObjectContext_RequiredMetadataNotAvailble�]dObjectContext_SelectorExpressionMustBeMemberAccess}^VObjectContext_StoreEntityNotPresentInClient�^ZObjectContext_TwoPropertiesMappedToSameColumn_`ObjectParameterCollection_DuplicateParameterName�_`ObjectParameterCollection_ParameterAlreadyExists`^ObjectParameterCollection_ParameterNameNotFoundp`TObjectParameterCollection_ParametersLocked�`HObjectParameter_InvalidParameterNamecaHObjectParameter_InvalidParameterType�a:ObjectQuery_InvalidConnection�b:ObjectQuery_InvalidEmptyQuery�b8ObjectQuery_InvalidQueryNamec^ObjectQuery_QueryBuilder_InvalidFilterPredicate�cXObjectQuery_QueryBuilder_InvalidGroupKeyList�c\ObjectQuery_QueryBuilder_InvalidProjectionList*dZObjectQuery_QueryBuilder_InvalidQueryArgumentTdTObjectQuery_QueryBuilder_InvalidResultType�dRObjectQuery_QueryBuilder_InvalidSkipCount>eVObjectQuery_QueryBuilder_InvalidSortKeyListiePObjectQuery_QueryBuilder_InvalidTopCount�e^ObjectQuery_QueryBuilder_NotSupportedLinqSource�epObjectQuery_Span_IncludeRequiresEntityOrEntityCollectionlf4ObjectQuery_Span_NoNavPropgHObjectQuery_Span_SpanPathSyntaxError�g>ObjectQuery_Span_WhiteSpacePath�gBObjectQuery_UnableToMapResultTypehjObjectQuery_UnableToMaterializeArbitaryProjectionTypechHObjectQuery_UnableToMaterializeArrayaiVObjectStateEntry_CannotAccessKeyEntryValues�iNObjectStateEntry_CannotDeleteOnKeyEntry,jTObjectStateEntry_CannotModifyKeyEntryState�jPObjectStateEntry_CannotModifyKeyProperty�jbObjectStateEntry_CantModifyDetachedDeletedEntries kPObjectStateEntry_CantModifyRelationState�kRObjectStateEntry_CantModifyRelationValues�kBObjectStateEntry_CantSetEntityKeygl`ObjectStateEntry_ChangeOnUnmappedComplexProperty�lRObjectStateEntry_ChangeOnUnmappedPropertyMmhObjectStateEntry_ChangedInDifferentStateFromChanging�m^ObjectStateEntry_ComplexObjectUsedMultipleTimes�nTObjectStateEntry_CurrentValuesDoesNotExist�o~ObjectStateEntry_EntityMemberChangedWithoutEntityMemberChangingp:ObjectStateEntry_InvalidStateqdObjectStateEntry_InvalidTypeForComplexTypeProperty�qpObjectStateEntry_NullOriginalValueForNonNullableProperty rVObjectStateEntry_OriginalValuesDoesNotExist�r�ObjectStateEntry_RelationshipAndKeyEntriesDoNotHaveRelationshipManagers&sZObjectStateEntry_SetModifiedOnInvalidProperty�sDObjectStateEntry_SetModifiedStates6tZObjectStateEntry_SetOriginalComplexProperties�tLObjectStateEntry_SetOriginalPrimaryKey~uXObjectStateEntry_UnableToEnumerateCollection�ufObjectStateManager_AcceptChangesEntityKeyIsNotValid|vvObjectStateManager_CannotChangeRelationshipStateEntityAddedDwzObjectStateManager_CannotChangeRelationshipStateEntityDeleted�wpObjectStateManager_CannotChangeRelationshipStateKeyEntryZxbObjectStateManager_CannotFixUpKeyToExistingValues�x�ObjectStateManager_CannotGetRelationshipManagerForDetachedPocoEntityvy�ObjectStateManager_ChangeRelationshipStateNotSupportedForForeignKeyAssociationsCzvObjectStateManager_ChangeStateFromAddedWithNullKeyIsInvalid�zvObjectStateManager_ConflictingChangesOfRelationshipDetected�{�ObjectStateManager_DetachedObjectStateEntriesDoesNotExistInObjectStateManager|�ObjectStateManager_DoesnotAllowToReAddUnchangedOrModifiedOrDeletedEntityD|\ObjectStateManager_EntityConflictsWithKeyEntry}FObjectStateManager_EntityNotTracked�}pObjectStateManager_EntityTypeDoesnotMatchtoEntitySetType�~nObjectStateManager_GetEntityKeyRequiresObjectToHaveAKey�~:ObjectStateManager_InvalidKeyfObjectStateManager_KeyPropertyDoesntMatchValueInKeyHxObjectStateManager_KeyPropertyDoesntMatchValueInKeyForAttach��VObjectStateManager_NoEntryExistForEntityKeyH�RObjectStateManager_NoEntryExistsForObject��tObjectStateManager_ObjectStateManagerContainsThisEntityKey�rObjectView_AddNewOperationNotAllowedOnAbstractBindingList}�LObjectView_CannotReplacetheEntityorRow�HObjectView_CannotResolveTheEntitySetP�>ObjectView_IncompatibleArgumentȃRObjectView_IndexBasedInsertIsNotSupported+�pObjectView_WriteOperationNotAllowedOnReadOnlyBindingList��VOfTypeExpressionElementTypeMustBeEntityType݄XOfTypeExpressionElementTypeMustBeNominalType8�LOfTypeOnlyTypeArgumentCannotBeAbstract��:OnlyStoreConnectionsSupported�:OperationOnReadOnlyCollection$�.OperationOnReadOnlyItemg�<OrderByKeyIsNotOrderComparable��HParameterNameAlreadyDefinedDuplicate�2ParameterTypeNotSupportedB�,ParameterWasNotDefinedw� ParserFatalError�� ParserInputErrorއ\PlaceholderExpressionMustBeCompatibleWithEdm64
�FPlaceholderExpressionMustBeConstantf�fPlaceholderExpressionMustBeGreaterThanOrEqualToZero��RPlaceholderSetArgTypeIsNotEqualComparable��:PlusLeftExpressionInvalidType��<PlusRightExpressionInvalidType�pPocoEntityWrapper_UnableToMaterializeArbitaryNavPropType,�XPocoEntityWrapper_UnableToSetFieldOrProperty=�jPocoEntityWrapper_UnexpectedTypeForNavigationProperty��>PrecisionMustBeGreaterThanScale�&PrecisionOutOfRange�FPropertyNameAlreadyDefinedDuplicateq�4PropertyTypeAlreadyDefinedʌLProviderDidNotCreateACommandDefinition!�JProviderDidNotReturnAProviderManifestY�TProviderDidNotReturnAProviderManifestToken��FProviderDidNotReturnSpatialServicesӍHProviderDoesNotSupportCreateDatabase�TProviderDoesNotSupportCreateDatabaseScriptB�HProviderDoesNotSupportDatabaseExistsx�HProviderDoesNotSupportDeleteDatabase��4ProviderDoesNotSupportType؎LProviderEscapeLikeArgumentReturnedNull�:ProviderManifestTokenNotFoundy�@ProviderRequiresStoreCommandTree��\ProviderReturnedNullForCreateCommandDefinitionA�NProviderReturnedNullForGetDbInformation}�PProviderShouldOverrideEscapeLikeArgument��.RefArgIsNotOfEntityType��PRefTypeIdentifierMustSpecifyAnEntityTypeב0ReferenceToNonEntityType*�TRelatedEndExprTypeMustBePromotoableToToEnd��BRelatedEndExprTypeMustBeReferenceߒHRelatedEnd_CannotAddToFixedSizeArray��RelatedEnd_CannotCreateRelationshipBetweenTrackedAndNoTrackedEntitiesd�|RelatedEnd_CannotCreateRelationshipEntitiesInDifferentContexts2�RRelatedEnd_CannotRemoveFromFixedSizeArray��4RelatedEnd_CannotSerialize�dRelatedEnd_ConflictingChangeOfRelationshipDetected��ZRelatedEnd_EntitySetIsNotValidForRelationship9�TRelatedEnd_InvalidContainedType_Collection��RRelatedEnd_InvalidContainedType_Reference<�PRelatedEnd_InvalidEntityContextForAttach��LRelatedEnd_InvalidEntityStateForAttach
�XRelatedEnd_InvalidNthElementContextForAttach��RRelatedEnd_InvalidNthElementNullForAttach�TRelatedEnd_InvalidNthElementStateForAttach]�JRelatedEnd_InvalidOwnerStateForAttach��VRelatedEnd_InvalidRelationshipFixupDetected�nRelatedEnd_LoadCalledOnAlreadyLoadedNoTrackedRelatedEndD�dRelatedEnd_LoadCalledOnNonEmptyNoTrackedRelatedEnd��LRelatedEnd_MismatchedMergeOptionOnLoadS�,RelatedEnd_OwnerIsNullX�RRelatedEnd_RelatedEndNotAttachedToContext�:RelatedEnd_RelatedEndNotFound`�8RelatedEnd_UnableToAddEntity��fRelatedEnd_UnableToAddRelationshipWithDeletedEntityo�>RelatedEnd_UnableToRemoveEntity��:RelationshipFromEndIsAmbiguos��tRelationshipManager_CannotGetRelatEndForDetachedPocoEntityԠ�RelationshipManager_CircularRelationshipsWithReferentialConstraints��`RelationshipManager_CollectionAlreadyInitialized<�xRelationshipManager_CollectionInitializeIsForDeserializationl�rRelationshipManager_CollectionRelationshipManagerAttached��~RelationshipManager_InconsistentReferentialConstraintProperties��dRelationshipManager_InitializeIsForDeserialization^�fRelationshipManager_InvalidRelationshipManagerOwnerޤJRelationshipManager_InvalidTargetRolek�\RelationshipManager_NavigationPropertyNotFound>�PRelationshipManager_OwnerIsNotSourceTyper�^RelationshipManager_ReferenceAlreadyInitialized	�^RelationshipManager_RelationshipManagerAttached8�tRelationshipManager_UnableToFindRelationshipTypeInMetadataԧ�RelationshipManager_UnableToRetrieveReferentialConstraintProperties�DRelationshipManager_UnexpectedNull��RRelationshipManager_UnexpectedNullContextZ�XRelationshipNameInNavigationPropertyNotValid�<RelationshipTargetMustBeUnique��6RelationshipToEndIsAmbiguos«0RelationshipTypeExpected��(RequiredFacetMissing-�FResultingExpressionTypeCannotBeNulla�LRightSetExpressionArgsMustBeCollection��^RoleTypeInEdmRelationshipAttributeIsInvalidType�4RowCtorElementCannotBeNull��,RowTypeWithoutPropertyĭFSameRoleNameOnRelationshipAttribute��NSameRoleReferredInReferentialConstraint��ScaleOutOfRange��FSelectDistinctMustBeEqualComparableD�,SimilarRelationshipEnd��`SourceTypeMustBePromotoableToFromEndRelationType�� SourceUriUnknown˰JSpatialWithUseStrongSpatialTypesFalseٰlSpatial_GeographyValueNotCompatibleWithSpatialServicesu�jSpatial_GeometryValueNotCompatibleWithSpatialServicesԱjSpatial_ProviderValueNotCompatibleWithSpatialServices2�NSpatial_WellKnownGeographyValueNotValid��LSpatial_WellKnownGeometryValueNotValid�|Spatial_WellKnownValueSerializationPropertyNotDirectlySettableS�<SqlGen_ApplyNotSupportedOnSql8��\SqlGen_CanonicalFunctionNotSupportedPriorSql10N�PSqlGen_InvalidDatePartArgumentExpression��FSqlGen_InvalidDatePartArgumentValue�VSqlGen_NiladicFunctionsCannotHaveParameters>�TSqlGen_ParameterForLimitNotSupportedOnSql8õRSqlGen_ParameterForSkipNotSupportedOnSql8��TSqlGen_PrimitiveTypeNotSupportedPriorSql10F�6SqlGen_TypedNaNNotSupported��PSqlGen_TypedNegativeInfinityNotSupported	�PSqlGen_TypedPositiveInfinityNotSupportedf�bSqlProvider_CredentialsMissingForMasterConnectionø|SqlProvider_DdlGeneration_CannotDeleteDatabaseNoInitialCatalog޹hSqlProvider_DdlGeneration_CannotTellIfDatabaseExists;�^SqlProvider_DdlGeneration_MissingInitialCatalog��TSqlProvider_GeographyValueNotSqlCompatiblem�RSqlProvider_GeometryValueNotSqlCompatibleǻHSqlProvider_IncompleteCreateDatabase �ZSqlProvider_IncompleteCreateDatabaseAggregateμDSqlProvider_InvalidGeographyColumn��BSqlProvider_InvalidGeometryColumn6�:SqlProvider_NeedSqlDataReaderv�JSqlProvider_Sql2008RequiredForSpatial޽HSqlProvider_SqlTypesAssemblyNotFound*�TSqlSpatialServices_ProviderValueNotSqlTypeʾ|SqlSpatialservices_CouldNotCreateWellKnownGeographyValueNoSridB��SqlSpatialservices_CouldNotCreateWellKnownGeographyValueNoWkbOrWkt��zSqlSpatialservices_CouldNotCreateWellKnownGeometryValueNoSrid
��SqlSpatialservices_CouldNotCreateWellKnownGeometryValueNoWkbOrWktt�*StackOverflowInParser�~StorageEntityContainerNameMismatchWhileSpecifyingPartialMapping�LStoreItemCollectionMustHaveOneArtifact��4SystemNamespaceEncountered��HTVFReturnTypeRowHasNonScalarPropertyt�fTableAndSchemaAreMutuallyExclusiveWithDefiningQuery��TTargetRoleNameInNavigationPropertyNotValid��TextNotAllowed��,TooManyAssociationEnds��0TopAndLimitCannotCoexist'�.TopAndSkipCannotCoexistn�(TypeArgumentBelowMin��2TypeArgumentCountMismatch�,TypeArgumentExceedsMaxW�,TypeArgumentIsNotValid��2TypeArgumentMustBeLiteral��BTypeDeclaredAsAttributeAndElement(�.TypeDoesNotSupportFacetx�,TypeDoesNotSupportSpec�� TypeKindMismatch��BTypeMismatchRelationshipConstaint9�$TypeMustBeDeclaredC�(TypeMustBeEntityTypei�2TypeMustBeInheritableType��*TypeMustBeNominalType��>TypeNameAlreadyDefinedDuplicateE� TypeNameNotFound��.TypeNotInAssociationSet!�$TypeNotInEntitySet��FUnableToDetermineApplicationContext��:UnableToDetermineStoreVersionG�2UnableToFindReflectedType��(UnableToLoadResource��.UnableToResolveAssembly�UnacceptableUri!�*UnexpectedRootElementy�@UnexpectedRootElementNoNamespace��4UnexpectedTypeInCollection_�,UnexpectedXmlAttribute��(UnexpectedXmlElement��*UnexpectedXmlNodeType��6UnknownAstCommandExpression�0UnknownAstExpressionTypeL�>UnknownBuiltInAstExpressionType|�@UnknownExpressionResolutionClass��4Update_AmbiguousForeignKey��FUpdate_AmbiguousServerGenIdentifiera�8Update_CircularRelationships�.Update_ConcurrencyErrorT�,Update_ConstraintCycle3�(Update_DuplicateKeys��2Update_ErrorLoadingRecorda�@Update_GeneralExecutionException��2Update_GeneratedDependent�dUpdate_InsertingOrUpdatingReferenceToDeletedEntityx�*Update_InvalidChanges��,Update_MappingNotFound]�(Update_MissingEntity��:Update_MissingFunctionMapping�8Update_MissingRequiredEntityQ�NUpdate_MissingRequiredRelationshipValue��4Update_MissingResultColumn��<Update_ModifyingIdentityColumn��HUpdate_NotSupportedComputedKeyColumnC�>Update_NotSupportedIdentityType��>Update_NotSupportedServerGenKey��TUpdate_NullReturnValueForNonNullableMember� Update_NullValuei�\Update_ReferentialConstraintIntegrityViolation��bUpdate_RelationshipCardinalityConstraintViolation�xUpdate_RelationshipCardinalityConstraintViolationSingleValuew�NUpdate_RelationshipCardinalityViolation��FUpdate_ReturnValueHasUnexpectedTypeQ�LUpdate_SqlEntitySetWithoutDmlFunctions��dUpdate_UnableToConvertRowsAffectedParameterToInt32l�<Update_UnsupportedCastArgument��@Update_UnsupportedExpressionKindy�8Update_UnsupportedExtentType��4Update_UnsupportedJoinType��8Update_UnsupportedProjection;�0Update_WorkspaceMismatch��JValidator_BaseTypeHasMemberOfSameNameR�DValidator_CollectionHasNoTypeUsage��VValidator_CollectionTypesCannotHaveBaseType��.Validator_EmptyIdentity��0Validator_FacetHasNoName�2Validator_FacetTypeIsNull �NValidator_ItemAttributeHasNullTypeUsager�2Validator_MemberHasNoName��HValidator_MemberHasNullDeclaringType��@Validator_MemberHasNullTypeUsage6�FValidator_MetadataPropertyHasNoName��,Validator_NoKeyMembers��FValidator_NullableEntityKeyProperty:�TValidator_OSpace_ComplexPropertyNotComplex��XValidator_OSpace_Convention_AmbiguousClrTypez�nValidator_OSpace_Convention_AttributeAssemblyReferenced�`Validator_OSpace_Convention_BaseTypeIncompatible��ZValidator_OSpace_Convention_BaseTypeNotLoaded"�ZValidator_OSpace_Convention_MissingOSpaceTypeh�fValidator_OSpace_Convention_MissingRequiredProperty��jValidator_OSpace_Convention_MultipleTypesWithSameName��lValidator_OSpace_Convention_NonMatchingUnderlyingTypes��hValidator_OSpace_Convention_NonPrimitiveTypeProperty�bValidator_OSpace_Convention_RelationshipNotLoadeds�hValidator_OSpace_Convention_SSpaceOSpaceTypeMismatch��~Validator_OSpace_Convention_ScalarPropertyMissginGetterOrSetterl�DValidator_OSpace_Convention_Struct��RValidator_OSpace_InvalidNavPropReturnType��VValidator_OSpace_ScalarPropertyNotPrimitive�DValidator_RefTypeHasNullEntityType��HValidator_RefTypesCannotHaveBaseType
�.Validator_TypeHasNoName4�8Validator_TypeHasNoNamespaceN�BValidator_TypeUsageHasNullEdmTypep�NValidator_UnsupportedEnumUnderlyingType��$ValueNotUnderstood�ViewGen_AND2�RViewGen_AssociationEndShouldBeMappedToKey8�BViewGen_AssociationSetKey_Missing��FViewGen_AssociationSet_AsUserStringA�VViewGen_AssociationSet_AsUserString_Negatedl�6ViewGen_CQ_DomainConstraint��<ViewGen_CQ_PartitionConstraint��RViewGen_Cannot_Disambiguate_MultiConstant�BViewGen_Cannot_Recover_Attributes\�8ViewGen_Cannot_Recover_Types��$ViewGen_CommaBlank��BViewGen_Concurrency_Derived_Class��JViewGen_Concurrency_Invalid_Condition7�:ViewGen_Duplicate_CProperties��LViewGen_Duplicate_CProperties_IsMapped�� ViewGen_Entities��6ViewGen_EntityInstanceToken�8ViewGen_EntitySetKey_Missing�<ViewGen_EntitySet_AsUserStringS�LViewGen_EntitySet_AsUserString_Negatedk�ViewGen_Error�� ViewGen_ErrorLog��"ViewGen_ErrorLog2��ViewGen_Extent�&ViewGen_Foreign_Key
�RViewGen_Foreign_Key_ColumnOrder_IncorrectZ�PViewGen_Foreign_Key_LowerBound_MustBeOnee�`ViewGen_Foreign_Key_Missing_Relationship_Mapping�RViewGen_Foreign_Key_Missing_Table_Mapping��VViewGen_Foreign_Key_Not_Guaranteed_InCSpace�\ViewGen_Foreign_Key_ParentTable_NotMappedToEndk�PViewGen_Foreign_Key_UpperBound_MustBeOne(�RViewGen_HashOnMappingClosure_Not_Matching��0ViewGen_InvalidCondition`�jViewGen_KeyConstraint_Update_Violation_AssociationSet��`ViewGen_KeyConstraint_Update_Violation_EntitySet&�>ViewGen_KeyConstraint_Violation��6ViewGen_Missing_Set_Mappingo�8ViewGen_Missing_Sets_Mapping��8ViewGen_Missing_Type_Mapping�6ViewGen_NegatedCellConstantP�0ViewGen_No_Default_Valuei�TViewGen_No_Default_Value_For_Configuration�`ViewGen_NonKeyProjectedWithOverlappingPartitions9�ViewGen_NotNull��BViewGen_NotNull_No_Projected_Slot��ViewGen_Null�8ViewGen_OneOfConst_IsEqualTo�@ViewGen_OneOfConst_IsNonNullable�>ViewGen_OneOfConst_IsNotEqualTo�:ViewGen_OneOfConst_IsNotOneOf�4ViewGen_OneOfConst_IsOneOf2�>ViewGen_OneOfConst_IsOneOfTypesE�@ViewGen_OneOfConst_MustBeEqualTov�HViewGen_OneOfConst_MustBeNonNullable��:ViewGen_OneOfConst_MustBeNull��<ViewGen_OneOfConst_MustBeOneOf�FViewGen_OneOfConst_MustNotBeEqualTo�BViewGen_OneOfConst_MustNotBeOneOf��0ViewGen_TableKey_Missing�ViewGen_Tuplesg�`Viewgen_CannotGenerateQueryViewUnderNoValidationn�:Viewgen_ConfigurationErrorMsg�XViewgen_ErrorPattern_ConditionMemberIsMappedXViewgen_ErrorPattern_DuplicateConditionValue�vViewgen_ErrorPattern_NotNullConditionMappedToNullableMember�LViewgen_ErrorPattern_Partition_Disj_Eq�PViewgen_ErrorPattern_Partition_Disj_SubsAXViewgen_ErrorPattern_Partition_Disj_Subs_Ref�NViewgen_ErrorPattern_Partition_Disj_Unk�LViewgen_ErrorPattern_Partition_Eq_Disj�LViewgen_ErrorPattern_Partition_Eq_Subs?TViewgen_ErrorPattern_Partition_Eq_Subs_Ref�JViewgen_ErrorPattern_Partition_Eq_Unk�bViewgen_ErrorPattern_Partition_Eq_Unk_AssociationW�Viewgen_ErrorPattern_Partition_MultipleTypesMappedToSameTable_WithoutConditionNViewgen_ErrorPattern_Partition_Sub_Disj�JViewgen_ErrorPattern_Partition_Sub_Eq{	RViewgen_ErrorPattern_Partition_Sub_Eq_RefA
LViewgen_ErrorPattern_Partition_Sub_UnkFXViewgen_ErrorPattern_TableMappedToMultipleESFnViewgen_MultipleFragmentsBetweenCandSExtentWithDistinct�*Viewgen_NoJoinKeyOrFKo
VViewgen_NullableMappingForNonNullableColumn&8Viewgen_QV_RewritingNotFound�8Viewgen_RightSideNotDisjoint�<WildcardEnumeratorReturnedNull7DOperasjonen som ble forsøkt, er ikke gyldig. Dataleseren er lukket.8Elementet i samlingsparameteren {0} kan ikke være null.CElementet i samlingsparameteren {0} kan ikke være null eller tomt.^Formatet i initialiseringsstrengen tilsvarer ikke det som er angitt i starten av indeksen {0}.DKall til {0} når dataleseren er lukket er ikke en gyldig operasjon.%Metoden GetSchemaTable støttes ikke.�Operasjonen som ble forsøkt, er ikke gyldig. Den nestede dataleseren ble implisitt lukket fordi den overordnede dataleseren er lest eller lukket.1Intern feil, {0}, i .NET Framework Data Provider.vBufferforskyvningen {1} pluss antall byte som er tilgjengelig ({0}), er større enn lengden på bufferen som er sendt. Ugyldig verdi for nøkkelen {0}.-DataDirectory-erstatningen er ikke en streng. Datalengden {0} er mindre enn 0.oDataleseren har mer enn ett felt. Flere felt er ikke gyldig for primitive typer eller opplistingstyper for EDM.�Dataleseren er inkompatibel med angitt {0}. Et medlem av typen, {1}, har ingen tilsvarende kolonne i dataleseren med samme navn.bDataleseren er ikke kompatibel med funksjonstilordningen {1}. Kolonnen med navnet {0} finnes ikke.�Dataleseren er ikke kompatibel med den angitte funksjonstilordningen, og typen for en rad kan ikke fastsettes for typetilordningen.xKan ikke opprette en verdi for egenskapen {0} av typen {1}. Bare egenskaper av typen primitiv eller opplisting støttes.&Parameterdatatypen {0} er ikke gyldig.>Målbufferen er ikke gyldig (størrelsen {0}) forskyvning: {1},{0}-opplistingsverdien, {1}, er ikke gyldig.)Ugyldig bruk av ESC-skilletegn [ eller ].RUgyldig verdi {0} for parameteren Size. Verdien må være større enn eller lik 0.?Kildebufferen er ikke gyldig (størrelsen {0}) forskyvning: {1}cSpørringen forsøkte å kalle {0} via en nestet spørring, men {0} hadde ikke de riktige nøklene.5Den nestede spørringen har ikke de riktige nøklene.Nøkkelord støttes ikke: {0}.QEgenskapen CommandBehavior.SequentialAccess må angis for dette kommandoobjektet.DDen nestede spørringen støttes ikke. Operasjon1={0} Operasjon2={1}=Det ble gjort forsøk på å lese, men det fantes ingen data.MDet finnes ingen spørringstilordningsvisning for det angitte settet {0}.{1}.�I dataforskyvningen {0} er ikke {2} forsøk gyldig. Med CommandBehavior.SequentialAccess kan du bare lese fra dataforskyvningen {1} eller større.�Forsøk på å lese fra kolonneordenstall {0} er ikke gyldig. Med CommandBehavior.SequentialAccess kan du bare lese fra kolonneordenstall {1} eller større.GADO.NET Data Provider du bruker, støtter ikke kanoniske kommandotrær.?Kan ikke behandle en ukjent TypeCode {0} returnert av Type {1}.Aliaset {0} er allerede i bruk.bHvert alias i et XML-skjema må være unikt. Aliaset {0} var allerede i bruk i dette XML-skjemaet.xAlle SSDL-artefakter må ha samme leverandør som mål. Provider {0} er forskjellig fra {1}, som ble oppdaget tidligere.�Alle SSDL-artefakter må ha samme leverandør som mål. ProviderManifestToken {0} er forskjellig fra {1}, som ble oppdaget tidligere.8Alle elementer i et skjema må ligge i Schema-elementet.�EntitySet for End {0} i AssociationSet {1} er ikke angitt og kan ikke utledes fordi EntitySet er tvetydig. Mer enn ett EntitySet kan brukes, og et eksplisitt End-element med et EntitySet-attributt må angis.PFunksjonen {0} og {1} lagringsplasstype {0} kan ikke ha samme fullstendige navn.zFunksjonskallet kan ikke løses fordi ett eller flere sendte argumenter samsvarer med mer enn én funksjonsoverbelastning.�Funksjonen {0} med samme parametere {1} for type lagringsplass, finnes allerede. Kontroller at funksjonsoverbelastninger ikke er tvetydige.�Navnet {0} er tvetydig. {0} er definert i både {1}- og {2}-navneområdet. Du opphever tvetydigheten ved å bruke et fullstendig kvalifisert navn eller definere et alias for navneområdet.>Argumentet for funksjonen må være en begreps-XML-skjematype.0Argumentet for funksjonen må være en CLR-type.{0} er utenfor området.<Verdien {0} er ikke gyldig. Forventet en ikke-negativ verdi.CArgumenttypene {0} og {1} er ikke kompatible for denne operasjonen.]Målmatrisen var ikke lang nok. Kontroller arrayIndex og lengde samt matrisens nedre grenser.=Den angitte samlingen {0} finnes ikke i samlingsopplistingen.EMinst én SSDL-artefakt kreves for oppretting av StoreItemCollection.&Ukjent navneområde eller alias ({0}).�NavigationProperty {0} er ikke gyldig. Typen {1} for FromRole {2} i AssociationType {3} må være nøyaktig lik typen {4}, som denne NavigationProperty er deklarert på.?NavigationProperty er ikke gyldig. {0} er ikke en Relationship.CNavigationProperty er ikke gyldig. FromRole og ToRole er identiske.RNavigationProperty er ikke gyldig. Rollen {0} er ikke definert i Relationship {1}.�Parameteren {0} i funksjonen {1} i skjemaet {2} har parameterretningen {3}, som ikke er gyldig. Gyldige parameterretninger er In, Out og InOut.�Parameteren {0} i funksjonen {1} i skjemaet {2} har parameterretningen {3}, som ikke er gyldig. Den eneste gyldige verdien for denne parameteren er In.pKombinasjonen av Precision og Scale er ikke gyldig. Precision ({0}) må være større enn eller lik Scale ({1}).TØvre og nedre grense for BETWEEN-uttrykket kan ikke være ikke-angitte nullverdier.YTypen {0} for nedre grense for BETWEEN er ikke kompatibel med typen {1} for øvre grense.aTypen {0} for nedre grense for BETWEEN har ikke samme rekkefølge som typen {1} for øvre grense.^Verditypen {0} for BETWEEN har ikke samme rekkefølge som den generelle typen {1} for grenser.oBåde minimums- og maksimumsverdier må angis for {0} i typen {1}, ettersom {0} ikke er angitt som en konstant.�Verdien for det beregnede opplistingstypemedlemmet er ikke gyldig i henhold til datatypen http://www.w3.org/2001/XMLSchema:long.�Funksjonen eller funksjonsimporten, {0}, kan ikke komponeres. En funksjon eller funksjonsimport som ikke kan komponeres, kan ikke kalles i et spørringsuttrykk.ZKan ikke konvertere litteralen {0} til {1}. Angivelse av numerisk litteral er ikke gyldig.$Kan ikke opprette et tomt multisett.;Et multisett av den ikke-angitte typen NULL er ikke gyldig.@{0} kan ikke startes fordi den er definert som en abstrakt type.hAlle artefakter som er lastet inn i en ItemCollection, må ha samme versjon. Flere versjoner ble funnet.6{0} kan ikke løses til en gyldig type eller funksjon.R{0} er et systemnavneområde og kan ikke brukes som et Alias. Bruk et annet Alias.>Argumentet {0} er ikke gyldig. Settet inneholder en nullverdi.3Klassen {0} har ingen konstruktør uten parametere.&Egenskaper støttes ikke i verdityper.$Indekserte egenskaper støttes ikke."Statiske egenskaper støttes ikke. Egenskapsmottakeren finnes ikke. Egenskapsangivelsen finnes ikke.CEgenskaper med StrongNameIdentityPermissionAttribute støttes ikke.5Egenskapen har en utventet returtype eller parameter.,Egenskapen bruker en type som ikke støttes.�RelatedEnd med rollenavnet {0} fra relasjonen {1} er allerede lastet inn. Dette kan forekomme når du bruker et flettealternativ av typen NoTracking. Prøv å bruke et annet flettealternativ når du spør etter det relaterte objektet.�En EntityCollection med {0} objekter kan ikke returneres for rollenavnet {1} i relasjonen {2}. Kontroller at EdmRelationshipAttribute som definerer denne relasjonen, har riktig RelationshipMultiplicity for dette rollenavnet. Se dokumentasjonen for Entity Framework hvis du vil ha mer informasjon.TLoad-metoden kan ikke returnere {0} når det relaterte objektet er i slettet status.�Kildespørringen for EntityCollection eller EntityReference kan ikke returneres når det relaterte objektet er i i tillagt eller frakoblet status og ikke opprinnelig ble hentet ved hjelp av flettealternativet NoTracking.TRelasjonen {0} samsvarer ikke med noen relasjoner som er definert i begrepsmodellen.�En navigasjonsegenskap som returnerer EntityCollection, kan ikke endres hvis eksisterende EntityCollection inneholder elementer som ikke ligger i den nye EntityCollection.XFunksjoner som deklarerer kommandotekst, kan ikke også deklarere et lagerfunksjonsnavn.=Funksjoner som deklarerer kommandotekst, kan ikke komponeres.zDen angitte parameteren {0} av typen {1} er ugyldig. Bare skalarparametere (for eksempel Int32, Decimal og Guid) støttes.�Den angitte bruken av parameteren {0} for å generere typeverdien {1} støttes ikke av LINQ to Entities i en kompilert spørring.pDen angitte parametertypen {0} er ugyldig. Bare skalarparametere (for eksempel Int32, Decimal og Guid) støttes.�Egenskapen {0} kan ikke rapporteres som i endring. Dette forekom fordi EntityComplexMemberChanging ble kalt med et egenskapsnavn som ikke er en sammensatt egenskap. Se dokumentasjonen for Entity Framework hvis du vil ha mer informasjon.BDette sammensatte objektet er allerede koblet til et annet objekt.sSammensatte typer som kan nullstilles, støttes ikke. Den sammensatte egenskapen {0} kan ikke tillatte nullverdier.ZFunksjonsimporten {0} kan ikke ha ComplexType ReturnType {1} og EntitySet angitt samtidig.�Den nestede ComplexType-egenskapen {0} i ReturnType {1} av funksjonen {2}, støttes ikke. Vurder å flate ut den nestede ComplexType-egenskapen.OFunksjoner og funksjonsimporter som kan komponeres, må deklarere en returtype.XDet er ingen underliggende støtte for operasjonen + i strenger i gjeldende leverandør.�Typen {0} er utledet fra typen {1}, som er typen for EntitySet {2}. Typen {0} definerer nye samtidighetskrav som ikke er tillatt for undertyper for EntitySet-basistyper.'Facet {0} må ikke angis for typen {1}.�{0} kan ikke løses i gjeldende område eller kontekst. Kontroller at alle refererte variabler er i området, at obligatoriske XML-skjemaer er lastet inn, og at navneområder er riktig referert.,Den angitte mengdefunksjonen er ikke gyldig.:DbAndExpression krever argumenter med felles Boolean-type.QInndata- og bruksargumenter for DbApplyExpression kan ikke ha samme variabelnavn.@Den usignerte typen {0} kan ikke forfremmes til en signert type.CDbArithmeticExpression-argumenter må ha en numerisk generell type.9{0} krever argumenter med kompatibel ResultTypes-samling.GDbExpressionBinding krever et inndatauttrykk med en ResultType-samling.MDet angitte variabelnavnet er ikke gyldig. Variabelnavn kan ikke være tomme.UEn gyldig ResultType kan ikke utledes fra ResultTypes for de angitte Then-uttrykkene.;DbCaseExpression krever samme antall When- og Then-uttrykk.CDen angitte endringen er ikke tillatt: fra typen {0} til typen {1}.DataSpace er ikke gyldig.0Det angitte parameternavnet er ikke gyldig: {0}.BDbComparisonExpression krever argumenter med sammenlignbare typer.XTypen {0} samsvarer ikke med EDM-opplistingstypen {1} eller den underliggende typen {2}.�Bare opplistings- eller primitiv typer kan brukes som konstante verdityper. DbConstantExpression kan ikke opprettes med en forekomst av typen {0}.CDen angitte verdien er ikke en forekomst av en gyldig konstanttype.6Den angitte verdien er ikke en forekomst av typen {0}.eEn relasjonsende med navnet {0} er ikke deklarert av relasjonstypen {1} fra MetadataWorkspace-målet.<Finner ikke EntityContainer {0} i MetadataWorkspace-målet. :Finner ikke EntitySet {0}.{1} i MetadataWorkspace-målet. 6Finner ikke funksjonen {0} i MetadataWorkspace-målet.XEn egenskap med navnet {0} er ikke deklarert av typen {1} fra målet MetadataWorkspace. XEn egenskap med navnet {0} er ikke deklarert av typen {1} fra MetadataWorkspace-målet. 3MetadataWorkspace-målet inneholder ikke typen {0}.8DbCrossJoinExpression krever minst to inndataangivelser.�De angitte DbCrossJoinExpression-inndataangivelsene inneholder uttrykksbindinger med et duplisert variabelnavn, {2}. Den første forekomsten er i indeksen {0}, den andre er i indeksen {1}. 9DbDerefExpression krever et argument av en referansetype.XKan ikke bruke operasjonen Distinct på ResultType-samlingen for det angitte argumentet.�Når unwrapSingleProperty er angitt, må argumentuttrykket ha følgende ResultType: en CollectionType med en strukturert elementtype som deklarerer nøyaktig én egenskap. )Det angitte kommandotreet er ikke gyldig.�ResultType for det angitte uttrykket er ikke kompatibelt med den obligatoriske typen. ResultType-uttrykket er {0}, men den obligatoriske typen er {1}. )Uttrykkslisten har feil antall elementer.CDe angitte relasjonsendene er ikke definert av samme relasjonstype.�Metoderesultattypen {0} støttes ikke for dette metodeargumentet. En metode som produserer en forekomst av en DbExpression-avledet type eller en anonym type med DbExpression-avledede egenskaper, er påkrevd.wDe angitte elementuttrykkene kan ikke ligge i samme samling fordi ingen felles elementtype kan utledes fra ResultTypes.BDen angitte egenskapen med navnet {0}, er deklarert med typen {1}.JDen angitte relasjonstypen definerer ikke noen ende med det angitte navnetcDe angitte argumentresultattypene samsvarte med mer enn én overbelastning av funksjonen 'Edm.{0}'.GFant ingen funksjon med navnet 'Edm.{0}' med de angitte argumenttypene.VFunksjonsmetadata som brukes i DbFunctionExpression, kan ikke inkludere kommandotekst.�Funksjonsmetadata som brukes i DbFunctionExpression, må tillate komponering. Ikke-komponerbare funksjoner eller funksjoner som inkluderer kommandotekst, er ikke tillatt i uttrykk. Slike funksjoner kan bare kjøres uavhengig.VFunksjonsmetadata som brukes i DbFunctionExpression, kan ikke ha en ugyldig returtype.HDe angitte metadataene kan ikke brukes fordi de ikke er skrivebeskyttet.PGjeldende leverandør støtter ikke noen type som er kompatibel med Edm.Boolean.NGjeldende leverandør støtter ikke noen type som er kompatibel med Edm.Int32.OGjeldende leverandør støtter ikke noen type som er kompatibel med Edm.String.a{0} krever et uttrykksargument med en polymorf resultattype som er kompatibel med typeargumentet.,Den angitte typen er ikke polymorfisk: {0}. /Uttrykket {0} er av en type som ikke støttes. =DbEntityRefExpression krever et argument av typen EntityType.:DbRefKeyExpression krever et argument av en referansetype.LDbGroupExpressionBinding krever et inndatauttrykk med en ResultType-samling.YDet angitte gruppevariabelnavnet er ikke gyldig. Gruppevariabelnavn kan ikke være tomme.nEn mengde med navnet {0} kan ikke brukes fordi de angitte gruppenøklene inkluderer en nøkkel med samme navn.0Minst én gruppenøkkel eller én mengde kreves.lDen angitte gruppenøkkelen er ikke gyldig fordi likhetssammenligning ikke kan utføres på ResultType: {0}.XKan maksimalt angi én DbGroupAggregate i listen over mengder av et DbGroupByExpression.6En samling med {0} er ikke et gyldig argument for {1}.TArgumentet til DbIsNullExpression kan ikke ha en CollectionType av typen ResultType.iArgumentet til DbIsNullExpression må referere til en primitiv type, opplistingstype eller referansetype.OVenstre og høyre argument for DbJoinExpression kan ikke ha samme variabelnavn.RGrensen må være et DbConstantExpression eller et DbParameterReferenceExpression.$Grense må ha et ResultType-heltall.$Grense må ha en ikke-negativ verdi.fDet angitte medlemmet er ikke knyttet til samme MetadataWorkspace eller dataområde som kommandotreet.RAngitt EntitySet er ikke gyldig fordi egenskapen EntityContainer har en nullverdi.`Angitt EntitySet er ikke knyttet til samme MetadataWorkspace eller datamodell som kommandotreet.CAngitt EntityType er ikke gyldig fordi KeyMembers-samlingen er tom.NAngitt EntityType er ikke gyldig fordi egenskapen KeyMembers har en nullverdi.gDen angitte funksjonen er ikke knyttet til samme MetadataWorkspace eller dataområde som kommandotreet.fDen angitte funksjonen er ikke knyttet til samme MetadataWorkspace eller datamodell som kommandotreet.XDen angitte funksjonen er ikke gyldig fordi egenskapen ReturnParameter har en nullverdi.aDen angitte typen er ikke knyttet til samme MetadataWorkspace eller datamodell som kommandotreet.RDbNewInstanceExpression kan ikke opprette en forekomst av den abstrakte typen {0}.UDbNewInstanceExpression kan ikke opprette en forekomst av den medlemsløse typen {0}.CollectionType kreves.�Den angitte relaterte enheten er ikke kompatibel med denne nye forekomstkonstruktøren. Den konstruerte forekomsten er ikke en forekomst av typen EntityType, som kreves av kildeenden eller den relaterte enheten.'En samling, enhet eller radtype kreves.7DbNotExpression krever et argument med en Boolean-type.9DbOrExpression krever argumenter med felles Boolean-type.KEn Instance-egenskap av typen DbExpression kreves for en forekomstegenskap.cDbRefExpression krever en EntityType fra samme hierarki som EntityType for det refererte EntitySet.4Navigering i sammensetningsrelasjoner støttes ikke.YDen angitte navigeringen krever en navigasjonskilde av en type som er kompatibel med {0}.fAngitt End for målrelasjon er ikke deklarert av samme relasjonstype som angitt End for kilderelasjon.YEnd for målrelasjon med mangfoldigheten One eller ZeroOrOne kreves for dette argumentet.BAngitt End for målrelasjon er identisk med End for kilderelasjon.�Det angitte referanseuttrykket for enhetsreferanse er ikke gyldig fordi det ikke produserer en referanse til en enhet av samme type eller av en undertype for EntityType som refereres til av angitt End for mål.BReferanseuttrykket for målenheten må ha en ResultType-referanse.PCount må være et DbConstantExpression eller et DbParameterReferenceExpression.&Count må være et ResultType-heltall.(Count must må ha en ikke-negativ verdi.JSamlingsangivere kan ikke være tomme eller bestå av bare mellomromstegn.TEn samlingsangiver er bare gyldig for en sorteringsnøkkel med en ResultType-streng.FDbSortClause-uttrykk må ha en type der rekkefølgen kan sammenlignes.rDet oppstod en feil under klargjøring av definisjon av funksjonen {0}. Se det indre unntaket for mer informasjon.�Resultattypen {0} som er angitt i deklarasjonen av funksjonen {1}, samsvarer ikke med resultattypen {2} til funksjonsdefinisjonen.�Definisjonen av funksjonen {0} inneholder en direkte eller indirekte referanse til seg selv. Rekursive funksjonsdefinisjoner støttes ikke.Funksjonen {0} har ikke et definerende uttrykk. En brukerdefinert funksjon trenger et definerende uttrykk for å kunne kjøres.{0} krever et samlingsargument.]Navnet {2} ble angitt to ganger, i indeks {0} og indeks {1}. Dupliserte navn er ikke tillatt.:En tom liste er ikke en gyldig verdi for dette argumentet.iDet angitte uttrykket inneholder flere referanser til parameteren {0} som har forskjellige resultattyper.WDet angitte uttrykket inneholder {0} metadata fra et annet dataområde enn målet, {1}.bDet angitte uttrykket inneholder {0} metadata fra et annet arbeidsområde enn målarbeidsområdet.BDen refererte variabelen {0} er ikke definert i gjeldende område.vResultType for den refererte variabelen {0} samsvarer ikke med typen som er angitt i dette variabelreferanseuttrykket.ZCREATEREF-typen {0} er ikke en undertype eller supertype for EntityType {1} for EntitySet.RCREATEREF-typen må angi en EntityType. Typespesifikasjonen {0} representerer {1}.uttrykk med alias import av navneområde med aliaslogisk AND-uttrykkANYELEMENT-uttrykk
APPLY-setningBETWEEN-uttrykkCASE-uttrykkCASE/ELSE-uttrykkCASE/WHEN/THEN-uttrykkCAST-uttrykk"kollatert ORDER BY-setningselementdefinisjon av samlingstypekommandouttrykkCREATEREF-uttrykk
DEREF-uttrykkdelingsoperasjonELEMENT-uttrykker lik-uttrykkidentifikator mellom skilletegnEXCEPT-uttrykkEXISTS-uttrykk
uttrykkslisteFLATTEN-uttrykkFROM/APPLY-setningFROM-setningFROM-setningselementFROM-setningslisteFROM/JOIN-setningfunksjon {0}()funksjonsdefinisjonstørre enn-uttrykkstørre enn eller lik-uttrykkGROUP BY-setningGROUPPARTITION-uttrykkHAVING-predikat
identifikatorIN-settuttrykkINTERSECT-uttrykkIS NOT NULL-uttrykkIS NOT OF-uttrykkIS NULL-uttrykk
IS OF-uttrykkJOIN-setningJOIN/ON-setningKEY-uttrykkmindre enn-uttrykkmindre enn eller lik-uttrykkLIKE-uttrykkORDER BY/LIMIT-delsetningkonstant litteraluttrykk for medlemstilgang'funksjon, metode eller typekonstruktørsubtraksjonsoperasjonmoduloperasjonmultiplikasjonsoperasjonMULTISET-konstruktørimport av navneområdeliste over navneområdeimporterNAVIGATE-uttrykklogisk NOT-uttrykkNOT BETWEEN-uttrykker ikke lik-uttrykkNOT IN-settuttrykkNOT LIKE-uttrykk
NULL-litteralOFTYPE-uttrykkOFTYPE ONLY-uttrykklogisk OR-uttrykkORDER BY-setningORDER BY-setningselementOVERLAPS-uttrykkuttrykk med parenteseraddisjonsoperasjonspørringsuttrykkspørringssetningREF-uttrykkdefinisjon av referansetypeRELATIONSHIP-uttrykkRELATIONSHIP-uttrykkslisteROW-konstruktørdefinisjon av radtypeSELECT-setningSELECT VALUE-setningSET-uttrykkenkel identifikatorORDER BY/SKIP-delsetningTOP-delsetning
TREAT-uttrykkkonstruktør av typen {0}typenavn)typenavn med argumenter for typeangivelsemono-minusoperasjonmono-plussoperasjon
UNION-uttrykkUNION ALL-uttrykkWHERE-predikat$Fant en syklus i typehierarkiet {0}.DataOppdater(Inndata-, utdata- eller toveisparameter.AStørrelse på datatyper av variabel lengde (streng og matriser).�Når kildekolonnenavnet brukes i DataAdapter.Update, brukes det til å finne DataSetColumn-navnet i ColumnMappings. Dette er for å kopiere en verdi mellom parameteren og en datarad.|Når versjonen for DataRow-verdien brukes i DataAdapter.Update (bare UpdateCommand), brukes den til å oppdatere datakilden.TDEREF-argumentet må være en referansetype. Det angitte argumentet er av typen {0}.BStandardverdier er bare tillatt for ikke-spatiale primitive typer.�{0} kunne ikke registreres med MetadataWorkspace fordi versjonen ({1}) ikke samsvarer med versjonen ({2}), som allerede er knyttet til MetadataWorkspace.)Merknaden {0} er allerede definert i {1}."End Name {0} er allerede definert.eAlle medlemsnavn i en EntityContainer må være unike. Et medlem med navnet {0} er allerede definert.�EntitySet {0} med skjemaet {1} og tabellen {2} er allerede definert. Hvert EntitySet må referere til et unikt XML-skjema og en unik tabell.'Opplistingsmedlemmer må ha unike navn.hKan ikke definere et medlem med navnet {0} i klassen {1}. Det er definert i den overordnede klassen {2}.�Alle medlemsnavn i en EntityContainer må være unike. Medlemmet {0} er allerede definert i EntityContainer {1}. Ettersom EntityContainer {2} utvider EntityContainer {1}, kan du ikke ha et medlem med samme navn i EntityContainer {2}.rKey som er angitt i EntityType {0}, er ikke gyldig. Det refereres til egenskapen {1} flere ganger i Key-elementet.�Parameterne for funksjonen {0} konverteres til begrepssidetypen {1}, og funksjonen med de samme typeparameterne på begrepssiden finnes fra før. Kontroller at funksjonsoverbelastningene ikke er tvetydige.�Den innebygde funksjonen {0} med de samme parametrene finnes allerede. Kontroller at funksjonsoverbelastningene ikke er tvetydige.-Bare ett {0}-element er tillatt per relasjon.Anonym typeAvslutningstypemKall til standardmetoden CreateOrderedEnumerable i resultatet av en LINQ to Entities-spørring støttes ikke.!Fant en syklus i et LINQ-uttrykk.�Den angitte metoden {0} for typen {1} kan ikke oversettes til et LINQ to Entities-lageruttrykk fordi parameteren {2} til EdmFunction-attributtet er tomt.�Den angitte metoden {0} for typen {1} kan ikke oversettes til et LINQ to Entities-lageruttrykk fordi returtypen ikke samsvarer med returtypen til funksjonen som er angitt av EdmFunction-attributtet.6Denne funksjonen kan bare kalles fra LINQ to Entities.sLINQ to Entities-spørringsuttrykk kan bare konstrueres fra forekomster som implementerer IQueryable-grensesnittet.�{0} er ikke en gyldig metadatatype for typefiltreringsoperasjoner. Typefiltrering er bare gyldig for enhetstyper og sammensatte typer.^Denne metoden støtter infrastrukturen LINQ to Entities og skal ikke brukes direkte fra koden.0Medlemmet {0} er ikke en egenskap eller et felt.6Egenskapsindekserere støttes ikke i LINQ to Entities.qSkip-metoden støttes bare for sorterte inndata i LINQ to Entities. OrderBy-metoden må kalles før Skip-metoden.]ThenBy-metoden må kommer etter OrderBy-metoden eller etter et annet kall til ThenBy-metoden.SParameteren {0} var ikke bundet i det angitte LINQ to Entities-spørringsuttrykket.uEn navigasjonsegenskap av typen {0} er ikke gyldig. Forventet {1} eller en enkeltimplementering av {2}, men fant {3}.!Ukjent LINQ-binding av typen {0}.!Ukjent LINQ-uttrykk av typen {0}.�Det angitte typemedlemmet {0} støttes ikke i LINQ to Entities. Bare startere, enhetsmedlemmer og enhetsnavigasjonsegenskaper støttes.aDet angitte LINQ-uttrykket av typen {0} kan ikke oversettes til et LINQ to Entities-lageruttrykk.aDet angitte medlemmet {0} for typen {1} kan ikke oversettes til et LINQ to Entities-lageruttrykk._Den angitte metoden {0} for typen {1} kan ikke oversettes til et LINQ to Entities-lageruttrykk.�Den angitte metoden {0} for typen {1} kan ikke oversettes til et LINQ to Entities-lageruttrykk fordi ett eller flere sendte argumenter samsvarer med mer enn én funksjonsoverbelastning.�Den angitte metoden {0} for typen {1} kan ikke oversettes til et LINQ to Entities-lageruttrykk fordi ingen overbelastning samsvarer med de sendte argumentene.�Det angitte LINQ-uttrykket av typen {0} kan ikke oversettes til en gyldig, leverandørspesifikk ekvivalent for et LINQ to Entities-lageruttrykk.�Det angitte medlemmet {0} i typen {1} kan ikke oversettes til en gyldig, leverandørspesifikk ekvivalent for et LINQ to Entities-lageruttrykk.aMetoden {0} støttes bare i LINQ to Entities når argumentet er en strengvariabel eller litteral.pI konstruktører og startere er det bare støtte for egenskaps- eller feltparameterbindinger i LINQ to Entities.�Kan ikke endre typen {0} til typen {1}. LINQ to Entities støtter bare endring av primitive typer eller opplistingstyper for EDM.�Endring til Decimal støttes ikke i LINQ to Entities-spørringer, ettersom den nødvendige presisjons- og skala informasjonen ikke kan utledes.lKan ikke sammenligne elementer av typen {0}. Bare primitive typer, opplistingstyper og enhetstyper støttes.zKan ikke opprette en konstant verdi av typen {0}. Bare primitive typer eller opplistingstyper støttes i denne konteksten.LBare konstruktører og startere uten parametere støttes i LINQ to Entities.eDet angitte LINQ-uttrykket inneholder referanser til spørringer som er knyttet til andre kontekster.jEn type som implementerer IEnumerable {0}, kan ikke startes initialiseres i en LINQ to Entities-spørring.BNodetypen {0} for LINQ-uttrykket støttes ikke i LINQ to Entities.�Typen {0} vises i to strukturelt inkompatible initialiseringer med samme LINQ to Entities-spørring. En type kan initialiseres på to steder i samme spørring, men bare hvis de samme egenskapene er angitt begge steder og disse egenskapene er angitt i samme rekkefølge.WInclude-metoden støttes bare av LINQ to Entities når argumentet er en strengkonstant.VStøtter bare listeinitialiseringselementer med ett enkelt element i LINQ to Entities.�{0}-uttrykket med inndata av typen {1} og kontroll av typen {2} støttes ikke. Bare enhetstyper og sammensatte typer støttes i LINQ to Entities-spørringer.iNøkkelvalgtypen for kallet til {0}-metoden kan ikke sammenlignes i den underliggende lagerleverandøren._Metoden 'MergeAs' støttes bare av LINQ to Entities når argumentet er en MergeOption-konstant.hLINQ to Entities gjenkjenner ikke metoden {0}, og denne metoden kan ikke oversettes til et lageruttrykk.k{0}-metoden kan ikke oversettes til et LINQ to Entities-lageruttrykk. Vurder å bruke {1}-metoden i stedet.�First-metoden kan bare brukes som en endelig spørringsoperasjon. Vurder å bruke metoden FirstOrDefault i denne forekomsten i stedet.�Metodene Single og 'SingleOrDefault' kan bare brukes som en endelig spørringsoperasjon. Vurder å bruke metoden FirstOrDefault i denne forekomsten i stedet.]Enheten eller den sammensatte typen {0} kan ikke konstrueres i en LINQ to Entities-spørring.�Kan ikke opprette en nullkonstantverdi av typen {0}. Bare enhetstyper, opplistingstyper eller primitive typer støttes i denne konteksten.A{0}-metoden støttes ikke ved kall til en forekomst av typen {1}.DDenne metoden støttes ikke mot et materialisert spørringsresultat.fKan ikke sammenligne EntityKeys som refererer til typene {0} og {1} fordi de ikke har samme supertype.YKan ikke sammenligne {0}. Bare primitive typer, opplistingstyper og enhetstyper støttes.medlem {0} av type {0}e{0}-metoden støttes bare i LINQ to Entities når argumentet {1} er en ikke-negativ heltallskonstant.V{0}-metoden støttes bare i LINQ to Entities når ingen trimtegn angis som argumenter.XKan ikke behandle typen {0}, ettersom den ikke har noen kjent tilordning til verdilaget.cObjectContext-parameteren ({0}) i en kompilert spørring kan bare brukes som kilde for spørringer.Q{0}-metoden støttes bare i LINQ to Entities når argumentet {1} har verdien {2}.P{0}-metoden støttes bare i LINQ to Entities når argumentet {1} er en konstant.yTypen for TypeUsage-objektet som er angitt for metadataparameteren, er ikke kompatibel med typen som EdmMember tilhører.vEDMVersion for elementsamlingen {0} er ikke en EDMVersion som støttes under kjøring. Versjonene som støttes er {1}.lOperatoren ELEMENT støttes ikke i denne versjonen av Entity Framework. Den er reservert for fremtidig bruk.OElementet CommandText er tomt. Legg til kommandotekste i elementet CommandText.VElementet DefiningQuery er tomt. Legg til spørringsteksten i elementet DefiningQuery.c{0} inneholder ikke noen XML-skjemadefinisjon, eller angitt XmlReader startet på slutten av filen.{0} er ikke gyldig.^XmlReader-kilden inneholder ikke noen XML-skjemadefinisjon eller startet på slutten av filen.PAlle Name og PluralName i en relasjon må være unike. {0} er allerede definert.�End {0} i relasjonen {1} kan ikke få angitt noen operasjon ettersom mangfoldigheten er *. Operasjoner kan ikke angis i ender med mangfoldigheten *.4Enden {0} på relasjonen {1} må angi mangfoldighet.gDenne lagerkommandoen kan ikke klones fordi den underliggende lagerleverandøren ikke støtter kloning.fRiktig DbType kan ikke utledes basert på verdien som er angitt for egenskapen EntityParameter.DbType.WCommandText-egenskapsverdien kan ikke hentes fordi CommandTree-egenskapen ikke er null.WCommandTree-egenskapsverdien kan ikke hentes fordi CommandText-egenskapen ikke er null.Tilkoblingen ble ikke lukket.�Denne EntityCommand er basert på en klargjort kommandodefinisjon og kan ikke klargjøres på nytt. Hvis du vil opprette en tilsvarende kommando med andre parametere, opprett en ny kommandodefinisjon og kall CreateCommand-metoden til definisjonen.UKan ikke angi CommandText-egenskapsverdien fordi CommandTree-egenskapen ikke er null.UKan ikke angi CommandTree-egenskapsverdien fordi CommandText-egenskapen ikke er null.GKan ikke utføre oppdateringen fordi adaptertilkoblingen ikke er åpen._Det oppstod en feil under kjøring av kommandodefinisjonen. Se det indre unntaket for detaljer.cDet oppstod en feil under klargjøring av kommandodefinisjonen. Se det indre unntaket for detaljer.UDet oppstod en feil under kjøring av kommandoen. Se det indre unntaket for detaljer.uKommandoen kan ikke kjøres, ettersom metadataene for tilkoblingen ikke er kompatible med metadataene for kommandoen.AEntityConnection kan bare konstrueres med en lukket DbConnection.Tilkoblingen er ikke åpen.bruttlukket^En del nødvendig informasjon mangler fra tilkoblingsstrengen. Nøkkelordet {0} kreves alltid.PEn tilkoblingsstreng må angis i tilkoblingen før du prøver denne operasjonen.�Kommandoen er fortsatt knyttet til en åpen dataleser. Det kan ikke foretas endringer i denne kommandoen, og kommandoen kan ikke kjøres før dataleseren er lukket.>DbConnection-parameteren {0} inneholder ingen ProviderFactory.�Fabrikktypen {0} for lagerleverandøren implementerer ikke grensesnittet IServiceProvider. Bruk en lagerleverandør som implementerer dette grensesnittet.FParametere må ha et unikt ParameterName. Fant en ny forekomst av {0}.�Én av parameterne i EntityParameterCollection er null eller tom. Et navn må begynne med en bokstav og kan bare inneholde bokstaver, tall og understrekingstegn. "EdmType {0} er ikke en skalartype.LEdmType {0} er ikke konsekvent med DbType som er angitt for parameteren {1}.pDet oppstod en feil under start av en transaksjon i leverandørtilkoblingen. Se det indre unntaket for detaljer.aDet oppstod en feil under lukking av leverandørtilkoblingen. Se det indre unntaket for detaljer.kKjøring av kommandoen krever en åpen og tilgjengelig tilkobling. Tilkoblingens gjeldende tilstand er {0}.BAndre nøkkelord er ikke tillatt når nøkkelordet Name er angitt.nLagerdataleverandøren returnerte ikke informasjon for forespørselen {0}. Se det indre unntaket for detaljer.LEntityCommand.CommandText ble ikke angitt for StoredProcedure EntityCommand.rFunksjonsimporten {0} kan komponeres. Bare ikke-komponerbare funksjonsimporter kan kjøres som lagrede prosedyrer.vDen deklarerte typen for navigasjonsegenskapen {0}.{1} er ikke kompatibel med resultatet av den angitte navigeringen. �Finner ikke den angitte navnetilkoblingen i konfigurasjonen, den er ikke ment for bruk med leverandøren EntityClient, eller den er ikke gyldig.�Parameteren {0} er en parameter av typen bare inndata. Leverandøren EntityClient tillater bare slike parametere når egenskapen CommandType er satt til CommandText.�Parameternavnet {0} er ikke gyldig. Et gyldig parameternavn må begynne med en bokstav og kan bare inneholde bokstaver, tall og understrekingstegn.WFinner ikke den angitte lagerleverandøren i konfigurasjonen, eller den er ikke gyldig.�Verdien for EntityCommand.CommandText er ikke gyldig for en StoredProcedure-kommando. Verdien for EntityCommand.CommandText må ha formatet ContainerName.FunctionImportName.JTransaksjonen er ikke knyttet til gjeldende tilkobling eller er fullført.1MetadataWorkspace må ha forhåndsregistrert {0}.Nøkkelordet {0} støttes ikke.rTilkoblingsstrengen for den navngitte konfigurasjonen {0} kan ikke inneholde et Name-nøkkelord i konfigurasjonen.:Egenskapen EntityCommand.CommandText er ikke initialisert.FKan ikke utføre operasjonen fordi adapteren ikke har noen tilkobling.GKan ikke utføre operasjonen fordi kommandoen ikke har noen tilkobling.kKan ikke utføre oppdateringen, ettersom adaptertilkoblingen ikke er knyttet til en gyldig lagertilkobling.*Den underliggende leverandøren mislyktes.2Den underliggende leverandøren mislyktes på {0}.ZKan ikke bruke EntityClient til å opprette en kommandodefinisjon fra et lagerkommandotre.�En null ble returnert etter kall til {0}-metoden i en lagerleverandørforekomst av typen {1}. Lagerleverandøren fungerer kanskje ikke som den skal.�Det er ikke tillatt å gjøre endringer i tilkobling etter at metadataene er registrert ved å åpne en tilkobling eller konstruere tilkoblingen med et MetadataWorkspace.gDet oppstod en feil under lesing fra lagerleverandørens dataleser. Se det indre unntaket for detaljer.nDataleseren som ble returnert av lagerdataleverandøren, har ikke nok kolonner til den forespurte spørringen.�Tilkoblingen er allerede i en transaksjon og kan ikke delta i en annen transaksjon. EntityClient støtter ikke parallelle transaksjoner.0Finner ikke FunctionImport {1} i beholderen {0}.XFinner ikke beholderen {0} som er angitt for FunctionImport, i gjeldende arbeidsområde.�EntityParameter {0} må ha en verdi som DbType kan utledes fra, eller en støttet DbType må angis som verdien for egenskapen EntityParameter.DbType.TFunksjonsimporten {0} kan ikke kjøres fordi den ikke er tilordnet en lagerfunksjon.tDe eneste EntityCommand.CommandType-verdiene som støttes av EntityClient-leverandøren, er Text og StoredProcedure.XDbType {0} er ikke gyldig for egenskapen EntityParameter.DbType property i {1}-objektet.&Den angitte verdien er ikke en streng.0Plasseringene av metadata i tilkoblingsstrengen.(Tilkoblingsnavnet i tilkoblingsstrengen.BDet underliggende leverandørkonstantnavnet i tilkoblingsstrengen.4Den indre tilkoblingsstrengen i tilkoblingsstrengen.cEntityContainer-navnet må være unikt. Det er allerede definert en EntityContainer med navnet {0}.QEntityContainer {0} kan ikke utvide seg selv. Angi et annet EntityContainer-navn.KontekstNavngitt ConnectionStringKilde�Egenskapen {0} i EntityType {1} er ikke gyldig. Alle egenskaper som er en del av EntityKey, må være av typen opplisting eller primitiv.pEgenskapen {0} i EntityType {1} er ikke gyldig. EntityKey-egenskaper av typen {2} støttes ikke for øyeblikket.�Egenskapen {0} i EntityType {1} er ikke gyldig. Typen {2} for egenskapen er tilordnet til {3}, og EntityKey-egenskaper av typen {4} støttes ikke for øyeblikket.4EntityKey-verdier kan ikke endres når de er angitt.<Angitt IExtendedDataRecord må representere et enhetsobjekt.�Den forespurte operasjonen kan ikke fullføres, ettersom en ikke-samsvarende EntityKey ble returnert fra egenskapen EntityKey for et objekt av typen {0}.4EntityKey må ha minst ett nøkkelnavn og én verdi.jEntitySet {0} fra metadataarbeidsområdet er ikke kompatibelt med EntitySet som kreves av denne EntityKey.iObjektet som representeres av IExtendedDataRecord {0}, samsvarer ikke med EntityType for EntitySet ({1}).�Den angitte listen over nøkkel/verdi-par inneholder feil antall oppføringer. {1} nøkkelfelt er definert for typen {0}, men {2} ble angitt.gTypen for nøkkelfeltet {0} er forventet å være {1}, men den angitte verdien er faktisk av typen {2}./Navnet {0} inneholder tegn som ikke er gyldige.|EntitySet-navnet kan ikke være null eller tomt og må kvalifiseres med et EntityContainer-navn som ikke er null eller tomt.4EntityKey inneholder ikke noe gyldig EntitySet-navn.�Finner ikke den nødvendige oppføringen {0} i de angitte inndataene. Denne oppføringen kreves av nøkkelfeltene som er definert for typen {1}.bFant ikke en tilsvarende objektlagtype for nøkkelfeltet {0}, som har {1} som type i begrepslaget.QNøkkel/verdi-parene som definerer en EntityKey, kan ikke være null eller tomme.�Nøkkelfeltet {0} kan ikke ha null som verdi. En verdi forskjellig fra null er påkrevd for nøkkelfeltene som er definert for typen {1}.|Den forespurte operasjonen kan ikke fullføres, ettersom en objektet returnerte en nullverdi for egenskapsverdien EntityKey.IUgyldig indeks {0} for denne EntityParameterCollection med {1} elementer.WEn EntityParameter med ParameterName {0} finnes ikke i denne EntityParameterCollection.YForsøkte å fjerne en EntityParameter som ikke finnes i denne EntityParameterCollection.EEntityParameter finnes allerede i en annen EntityParameterCollection.MEntityParameterCollection godtar bare ikke-null EntityParameter-typeobjekter.dKan ikke angi egenskapen {0} for typen {1} fordi samlingen allerede er satt til en EntityCollection.�Det finnes allerede en generert proxytype for objektlagtypen {0}. Dette forekommer når den samme objektlagtypen blir tilordnet til to eller flere modeller i et AppDomain.IEnhets-wrapperen som er lagret i proxyen, refererer ikke til samme proxy.�Ingen metadatainformasjon er tilgjengelig for proxy-typen for {0}. Dette unntaket kan forårsakes når en proxy-type for en enhet kobles fra en ObjectContext. Se InnerException for mer informasjon.cBrudd på multiplisitetsbegrensning. Rollen {0} til relasjonen {1} har multiplisitet 1 eller 0.. 1.�Det oppstod et brudd på begrensningen for referanseintegritet: En primærnøkkelegenskap som er en del av begrensningen for referanseintegritet, kan ikke endres når det avhengige objektet er Unchanged hvis det ikke settes til tilknytningens standardobjekt. Standardobjektet må være sporet og ikke være merket for sletting.hEgenskapen EntityKey kan ikke settes til EntityNotValidKey, NoEntitySetKey eller en midlertidig nøkkel.�Objektet kan ikke legges til eller kobles til fordi EntityReference har en EntityKey-egenskapsverdi som ikke samsvarer med EntityKey for dette objektet.�En EntityReference av typen {0} kan ikke returneres for rollenavnet {1} i relasjonen {2}. Kontroller at EdmRelationshipAttribute som definerer denne relasjonen, har riktig RelationshipMultiplicity for dette rollenavnet. Se dokumentasjonen for Entity Framework hvis du vil ha mer informasjon.�Det oppstod et brudd på begrensningen for relasjonsmangfoldighet: En EntityReference forventet minst ett relatert objekt, men spørringen returnerte ikke noen relaterte objektet fra datakilden.�Det oppstod et brudd på begrensningen for relasjonsmangfoldighet: En EntityReference kan ikke ha flere relaterte objekter, men spørringen returnerte flere. Dette er en feil som er ugjenopprettbar.UEntitySet har allerede en EntityContainer. Den kan ikke legges til i denne samlingen.4Angitt EntitySet {0} tilhører ikke begrepsmodellen.KEntitySet {0} er basert på typen {1}, som ikke har noen definerte nøkler.[EntityType som er angitt for metadataparameteren, er ikke kompatibel med angitt EntitySet. YDet kan ikke refereres til et enhetsobjekt fra flere forekomster av IEntityChangeTracker.PVerdien {0} for opplistingstypemedlemmet {1} kan ikke konverteres til typen {2}.=Uttrykket i operatoren CREATEREF er ikke et gyldig EntitySet.*Det angitte uttrykket kan ikke være NULL.8Det angitte uttrykket må være av typen CollectionType.1Det angitte uttrykket må være av numerisk type.1Det angitte uttrykket må være av Boolean-typen.B{0} må refererer til en EntityType. Den angitte typen er {1} {2}.8Den angitte uttrykkstypen må kunne likhetssammenlignes.E{0} må refererer til en nominell type. Den angitte typen er {1} {2}.=Det angitte uttrykket kan ikke være av typen CollectionType.MFølgende informasjon kan være nyttig når du skal løse den forrige feilen:8Fasettdeklarasjon krever deklarasjon av typen attributt.9{0}-fasetten er ikke tillatt for egenskaper av typen {1}.6Kan ikke angi fasetter for den ikke-skalare typen {0}.'Finner ikke begrepsmodelltypen for {0}.Finner ikke CLR-typen for {0}.Finner ikke CLR-typen for {0}.7Kan ikke løse mengdefunksjonen {0} i denne konteksten.%Kan ikke hente leverandørmanifestet.�Funksjonsimporten {0} har en parameter for en samling eller referansetype. Parametere for en samling eller referansetype er ikke tillatt i funksjonsimporter.�Funksjonsimporten {0} er deklarert som komponerbar og med sidevirkninger. En funksjonsimport kan enten være komponerbar eller ha sidevirkninger, men ikke begge deler.�Funksjonsimporten {0} angir et enhetssett og en bane til et enhetssett. En funksjonsimport kan bare angi én av disse verdiene, ikke begge.eFunksjonsimporten {0} returnerer enheter av typen {1}, som ikke kan finnes i deklarert EntitySet {2}.�Funksjonsimporten {0} har en parameter som ikke kan nullstilles. Det er bare tillatt å bruke parametere som kan nullstilles i funksjonsimporter.DFunctionImport {0} returnerer enheter, men angir ikke noe EntitySet.HFunksjonsimporten {0} angir et enhetssett, men returnerer ingen enheter.]EntitySet {0} er ikke gyldig i FunctionImport {1}. Finner ikke et EntitySet med dette navnet.}Returtypen er ikke gyldig i FunctionImport {0}. FunctionImport må returnere en samling skalarverdier eller en enhetssamling.nReturtypen er ikke gyldig i FunctionImport {0}. FunctionImport må returnere Scalar, Entity eller ComplexType.�Returtypen er ugyldig i FunctionImport {0}. FunctionImport kan ikke ha noen returtype eller returnere en samling av skalare verdier, komplekse typer eller entiteter.�Typen {0} er ikke gyldig i funksjonen {1}. Funksjonen må ha returtype og parametere uttrykt i primitive typer på begrepssiden.oTypen {0} er ikke gyldig i funksjonen {1}. Funksjonen må ha returtype og parametere uttrykt i primitive typer.QDet oppstod et {0}-unntak under behandling av spørringen. Se det indre unntaket.Generell spørringsfeilpTypen som inneholder de genererte visningene {0}, må utledes fra typen System.Data.Mapping.EntityViewContainer.PInnholdet i visningene eller EntitySet-basisnavnene er endret siden utformingen.IFinner ikke EntitySet {0} som visningen er angitt for, i arbeidsområdet.feilukjentadvarsel#Spørringssyntaksen er ikke gyldig.^EdmComplexTypeAttribute og EdmEntityTypeAttribute kan ikke brukes på den generiske typen {0}.NGROUPPARTITION-operatoren tillates bare i konteksten til et spørringsuttrykk.LINTERN FEIL: Gruppevariabelen må finnes i ett av de eksisterende områdene.JNøkkeluttrykkstypen for GROUP BY-setningen må kunne likhetssammenlignes.5HAVING-setningen må komme etter en GROUP BY-setning.MNøkkeluttrykkstypen CREATEREF er ikke kompatibel med elementtypen EntityKey.HNøkkeluttrykket CREATEREF er ikke kompatibelt med EntityKey-strukturen.i gjeldende FROM-setningi GROUP BY-setning'som et kolonnenavn i ROW-konstruktøreni projeksjonslisten SELECTLeverandørmanifestet er feil.�I EntityContainer {4} ble Role for End med EntitySet {0} i AssociationSet {1} ikke oppgitt, og det finnes mer enn én End i Relationship {2} som kunne samsvare med typen {3}. Oppgi Role-attributtet for å oppheve tvetydigheten for End.�I EntityContainer {4} ble ikke Role for End med EntitySet {0} i AssociationSet {1} angitt, og det fantes ingen Ends i Relationship {2} som samsvarte med typen {3}.�Role for End med EntitySet {0} i AssociationSet {1} ble ikke angitt, og End som ble funnet, samsvarer med en som allerede er definert. Endre EntitySet til et sett som har typen for en annen End i Relationship.+INNER JOIN-uttrykket må ha et ON-predikat.TAction {0} i {1} gjenkjennes ikke. Gyldige handlinger er: None, Cascade og Restrict.d{0} er et reservert nøkkelord og kan ikke brukes som alias, med mindre det står mellom skilletegn.?INTERN FEIL: Argumenttypen for mengdefunksjonen er ikke gyldig.*Typen {0} støttes ikke i UNION-uttrykket.NBaseType ({0}) er ikke gyldig. BaseType for {1} må være en annen EntityType.OBaseType ({0}) er ikke gyldig. BaseType for {1} må være en annen ComplexType.NBaseType ({0}) er ikke gyldig. BaseType for {1} må være en strukturert type.,Uttrykkstypene THEN/ELSE er ikke kompatible.WCASE/WHEN/THEN-uttrykket er ikke gyldig, ettersom ingen resulterende uttrykk er angitt.\CAST-uttrykket er ikke gyldig. Det er ingen gyldig konvertering fra typen {0} til typen {1}.2Argumentuttrykket CAST må være av en skalartype./Typeargumentet CAST må være av en skalartype.^ItemCollection er ikke gyldig. For {0}-plassen må CollectionType være MappingItemCollection.�ItemCollection for {0} er ugyldig. Kontroller at StorageMappingItemCollection ble konstruert med de samme forekomstene av elementsamlingen som er registrert for begrepsmodellen og lagringsmodellen.�Det sammensatte medlemmet {0} i typen {1} og de sammensatte medlemmet {2} i typen {3} er inkompatible fordi de har ulikt antall medlemmer.3Nøkkeluttrykket CREATEREF må være av en radtype.RArgumenttypen {0} er ikke kompatibel med egenskapen {1} av den formelle typen {2}.�Det er ikke tillatt å bruke typekonstruktøren på typen {0}. Denne typen må ha én av følgende konstruktører: Entity, ComplexType eller RelationType.NDateTimeOffset-litteralen {0} overskrider området for DateTimeOffset-verdier.3Dagen {0} er ikke gyldig i DateTime-litteralen {1}.DDagen {0} er ikke gyldig for måneden {1} i DateTime-litteralen {2}.b{0} er ikke medlem av typen {1}. Typen {1} er resultatet av dereferensiering av uttrykkstypen {2}.�Standardverdien ({0}) er ikke gyldig for Binary. Verdien må ha formatet 0x123, der 123 står for en ikke-tom sekvens med heksadesimalsifre.UStandardverdien ({0}) er ikke gyldig for Boolean. Verdien må være true eller false.OStandardverdien ({0}) er ikke gyldig for DateTime. Verdien må ha formatet {1}.UStandardverdien ({0}) er ikke gyldig for DateTimeOffset. Verdien må ha formatet {1}.�Standardverdien ({0}) er ikke kompatibel med fasettene som er angitt for Decimal. Verdien må være et desimaltall med en skala som er mindre enn eller lik {1}, og en presisjon som er mindre enn eller lik {2}.VStandardverdien ({0}) er ikke gyldig. Verdien må være et flyttall mellom {1} og {2}.�Standardverdien ({0}) er ikke gyldig for GUID. Verdien må være angitt i enkle anførselstegn med formatet 'dddddddd-dddd-dddd-dddd-dddddddddddd'.MStandardverdien ({0}) er ikke gyldig. Forventet et heltall mellom {1} og {2}.KStandardverdien ({0}) er ikke gyldig for Time. Verdien må ha formatet {1}.<Argumentet DISTINCT/ALL er ikke gyldig i typekonstruktører.BArgumentet DISTINCT/ALL er bare gyldig for gruppemengdefunksjoner.yDocumentation-innholdet er ikke gyldig. Elementet Documentation kan bare inneholde elementene Summary og LongDescription./EDM-versjonen {0} støttes ikke av kjøretiden.7Identifikatorer mellom skilletegn kan ikke være tomme.ASpørringsteksten består bare av kommentarer og/eller mellomrom.9Spørringsteksten er tom eller består bare av mellomrom.<Enden {0} har en annen Type enn den EntitySet refererer til.VIngen Role med navnet {0} er definert i relasjonen {1}. Kontroller, og prøv på nytt.,Finner ingen EntityContainer med navnet {0}.1End {0} samsvarer ikke med noen Ends i {1}-typen.iEntityParameterCollection godtar bare ikke-null EntityParameter-typeobjekter, ikke objekter av typen {0}.REntityType-objektene {0} og {1} er inkompatible fordi de ikke har samme supertype.CEntitySet med det angitte navnet {0} finnes ikke i EntityContainer.NFinner ikke referert EntitySet {0} for End {1} i inneholdende EntityContainer.gEntitySet kan ikke være av typen {0}. Egenskapstypen må være EntityType eller AssociationEntityType.eEnheten {0} i typen {1} og enheten {2} i typen {3} er inkompatible fordi de ikke har samme supertype.UDen angitte typen kan ikke brukes som den underliggende typen for en opplistingstype.5Identifikatoren {0} mellom skilletegn er ikke gyldig.oIdentifikatoren {0} mellom skilletegn har ikke samsvar mellom innledende ('[') og avsluttende (']') skilletegn.BUttrykket har blitt klassifisert som et {0}. Et {1} var forventet.XDen angitte filen {0} har filtypen {1}, som ikke er gyldig. Den gyldige filtypen er {2}.6Argumentet FLATTEN må være en samling med samlinger.�Egenskaper som Principal Role {0} refererer til, må være helt identiske med nøkkelen for EntityType {1}, som Principal Role refererer til i relasjonsbegrensningen for Relationship {2}. Kontroller at alle nøkkelegenskaper er angitt i Principal Role.hIdentifikatoren {0} er ikke gyldig fordi den ikke ligger i en mengdefunksjon eller i GROUP BY-setningen.3Timen {0} er ikke gyldig i DateTime-litteralen {1}.-from-enden kan ikke utledes i relasjonen {0}.+to-enden kan ikke utledes i relasjonen {0}.�Elementtypen {0} og CollectionType {1} er ikke kompatible. IN-uttrykket støtter bare enhetstyper, skalartyper og referansetyper. 5Venstre korrelasjon er ikke tillatt i JOIN-setningen.LArgumentuttrykket KEY må være av referansetypen. Den angitte typen er {0}.nNøkkelbruken er ikke gyldig. {0} kan ikke definere nøkler fordi en av grunnklassene ({1}) definerer nøkler.:Angitt nøkkel-Member {0} finnes ikke i Members-samlingen.ANøkkel: {0} er ikke gyldig. {1} er ikke et gyldig egenskapsnavn.^Nøkkeldelen {0} for typen {1} er ikke gyldig. Ingen deler av nøkkelen må kunne nullstilles.XCOLLATE kan bare brukes med sorteringsnøkler av strengetypen. Den angitte typen er {0}.'{0}-litteralverdien {1} er ikke gyldig.MaxLength må være over null.fNavnet {0} kan ikke brukes i typen {1}. Medlemsnavn kan ikke være de samme som den omsluttende typen.5{0} har blitt løst som et {1}. Et {2} var forventet.qEt navneområde, en type eller et funksjonsnavn må være et enkeltnavn eller et antall navn atskilt med prikker.�Den angitte metadatabanen er ikke gyldig. En gyldig bane må være en eksisterende mappe, en eksisterende fil med filtypen '.csdl', '.ssdl' eller '.msl' eller en URI-adresse som identifiserer en innebygd ressurs.6Minuttet {0} er ikke gyldig i DateTime-litteralen {1}.aWITH RELATIONSHIP-setningen støttes bare ved definisjon av skrivebeskyttede visningsspørringer.6Måneden {0} er ikke gyldig i DateTime-litteralen {1}.�Multiplisitet kommer i konflikt med referansebegrensningen i Role {0} i relasjonen {1}. Fordi én av /alle egenskapene i Dependent Role ikke kan nullstilles, må multiplisiteten for Principal Role være 1.�Multiplisitet kommer i konflikt med referansebegrensningen i Role {0} i relasjonen {1}. Fordi ingen av egenskapene i Dependent Role kan nullstilles, må multiplisiteten av Principal Role være 1.�Multiplisitet er ikke gyldig i Role {0} i relasjonen {1}. Fordi alle egenskapene i Dependent Role kan nullstilles, må multiplisiteten av Principal Role være 0..1.�Multiplicity er ikke gyldig i rollen {0} i relasjonen {1}. Gyldige verdier for mangfoldighet for Principal Role er '0..1' eller '1'.gMangfoldighet er ikke gyldig i Role {0} i relasjonen {1}. Nedre grense for mangfoldigheten må være 0.�Multiplicity er ikke gyldig i Role {0} i relasjonen {1}. Ettersom egenskapene for Dependent Role ikke er nøkkelegenskapene, må øvre grense for mangfoldigheten for Dependent Role være *.�Multiplicity er ikke gyldig i Role {0} i relasjonen {1}. Ettersom Dependent Role refererer til nøkkelegenskapene, må øvre grense for mangfoldigheten for Dependent Role være 1.{1} ({0}) er ikke gyldig.#Navneområdealiaset er ikke gyldig.�Fant ingen XML-skjema med navneområdet {0}. Kontroller at navneområdet er riktig, eller at XML-skjemaet som definerer navneområdet, er angitt.�{0} er ikke et gyldig navn på navneområde eller alias. Du må bruke gjeldende navneområde eller alias for XML-skjema til å kvalifisere typen.CIkke angitte NULL-argumenter er ikke gyldige i aritmetiske uttrykk.EIkke angitte NULL-argumenter er ikke gyldige i sammenligningsuttrykk._Medlemmet {0} av typen {1}, som ikke kan nullstilles, kan ikke initialiseres med en NULL-verdi.UFeil i funksjonen {0}. Mengdefunksjoner må alltid ha nøyaktig én inndataparameter.\Elementer av typen OnDelete, OnLock og så videre, kan bare angis i én End for Association. Operatorsymbolet er ikke gyldig.+Kommandoparametersyntaksen @{0} er ugyldig.xTypen for parameteren {0} i funksjonen {1} er ikke gyldig. Parametertypen for mengdefunksjonen må være CollectionType.Z{0}-medlemmet {1} og {2}-medlemmet {3} er inkompatible fordi de ikke har noen vanlig type.p{0}-medlemmet {1} i type {2} og {3}-medlemmet {4} i type {5} er inkompatible fordi de ikke har noen vanlig type.�Den maksimale verdien {0} for Scale Facet må være mindre enn eller lik den maksimale verdien {1} for Precision Facet i {2}-typen.5Predikatet ON er ikke tillatt i CROSS JOIN-setningen.0Verdien {0} er ikke en gyldig PrimitiveTypeKind.MIngen egenskap med navnet {0} er definert i typen som Role {1} refererer til.{En egenskap kan ikke være av typen {0}. Egenskapstypen må være en innebygd type, en skalartype eller en opplistingstype.$Tegnsettingssymbolet er ikke gyldig._Spørringen er ikke gyldig fordi den inneholder tilknytningstypen {0}, som ikke kan projiseres.pRelationship {0} er ikke gyldig. Mangfoldigheten ({1}) er ikke gyldig. Mangfoldighet må være: *, 0..1 eller 1.cRelationship {0} er ikke gyldig. End-typen ({1}) er ikke gyldig. End-typen må være en EntityType.0{0} er ikke et gyldig medlem av relasjonen {1}. IRelationshipSet med det angitte navnet {0} finnes ikke i EntityContainer.VRelationshipSet kan ikke være av typen {0}. Egenskapstypen må være en Relationship.kDen sammensatte typen {0} og den sammensatte typen {1} er inkompatible fordi de har ulikt antall medlemmer.PRadtypen {0} og radtypen {1} er inkompatible fordi de har ulikt antall kolonner.pRadmedlemmet {0} i typen {1} og radmedlemmet {2} i typen {3} er inkompatible fordi de har ulikt antall kolonner.,INTERN FEIL: Lagringspunktet er ikke gyldig.2Det angitte XML-skjemaet er ikke gyldig. Feil: {0},INTERN FEIL: Områdeindeksen er ikke gyldig.6Sekundet {0} er ikke gyldig i DateTime-litteralen {1}.�SELECT VALUE-uttrykket kan ikke få alias i denne konteksten. SELECT VALUE-uttrykket kan bare få alias når ORDER BY er angitt.:SELECT VALUE kan bare ha ett uttrykk i projiseringslisten.-Den enkle identifikatoren {0} er ikke gyldig.�Den enkle identifikatoren {0} kan bare inneholde grunnleggende latinske tegn. Hvis du vil bruke UNICODE-tegn, må du bruke en identifikator mellom skilletegn.PMaxLength {0} er ikke gyldig. Lengden må være mellom {1} og {2} for {3}-typen.FParameteren {0} er ikke gyldig. Strengargumenter kan ikke være tomme.KSRID {0} er ikke gyldig. Verdien må være mellom {1} og {2} for {3}-typen.�Egenskaper som Dependent Role {0} refererer til, må være et delsett for nøkkelen i EntityType {1} som Dependent Role refererer til i referansebegrensningen for Relationship {2}.GWITH RELATIONSHIP-setningen støttes bare for enhetstypekonstruktører.1Argumentet {0} må være av typen CollectionType.@Den usignerte typen {0} kan ikke forfremmes til en signert type.={0} er bare gyldig i metadatafilbaner ved kjøring i ASP.NET.�Verdien {0} er ikke gyldig for attributtet ParameterTypeSemantics. Gyldige verdier er ExactMatchOnly, AllowImplicitPromotion eller AllowImplicitConversion.:Mangfoldigheten {1} er ikke gyldig for relasjonsenden {0}.3Året {0} er ikke gyldig i DateTime-litteralen {1}.)Fant AggregateOp utenfor GroupBy-metoden.Uventet VarDefOpUventet VarDefListOp.Angitt Op er av en type som ikke støttes: {0}lUttrykket IS [NOT] NULL må være av enhetstypen, referansetypen opplistingstypen eller den primitive typen.7ItemCollection for {0}-området er allerede registrert.BElementet med identiteten {0} finnes allerede i metadatasamlingen.>Medlemmet med identiteten {0} finnes ikke i metadatasamlingen.REntityType {0} har ingen definert nøkkel. Definer nøkkelen for denne EntityType.RNøkkeluttrykket {0} må ha minst én referanse til det nærmeste inndataområdet.CVenstre argument i settuttrykket må være av typen CollectionType.)LIKE-argumenter må være av strengtypen.;Det finnes ingen EDM-typen som tilsvarer litteraltypen {0}.-INTERN FEIL: Litteraltypen {0} støttes ikke.samlingkolonne
sammensattenhetenhetsbeholderopplistingsmedlemfunksjonspørringsinnebygd funksjon
nøkkelordvenstrelinje!navneområde, type eller funksjonnavneområdeNærprimitiv	referansehøyrerad
betingelsetypeverdiuttrykkRDen angitte litteralen har en nyttelast i enkle anførselstegn med ugyldig format.NDen angitte litteralen har en nyttelast for strenglitteral med ugyldig format.YXML med ugyldig format. Elementet som begynner på ({0},{1}), har ingen avsluttende kode.�Typen {0} på begrepssiden kan ikke tilordnes til typen {1} på objektsiden. Begge må være abstrakte typer, eller begge må være konkrete typer.�EntitySetMapping i EntityContainerMapping for EntityContainer {0} kan bare inneholde tilordningsfragmenter og ingen spørringsvisning. EntitySetMapping inneholder bare spørringsvisninger, og visningen for denne EntityContainerMapping vil ikke bli generert.?EntityContainer {0} for lagringsmodellen er allerede tilordnet._EdmType kan ikke tilordnes til CLR-klasser flere ganger. EdmType {0} er tilordnet flere ganger.HDen angitte verdien for betingelsen er ikke kompatibel med medlemstypen.CMedlemmet {0} i begrepsmodelltypen {1} finnes ikke i CLR-typen {2}.CMedlemmet {0} i CLR-typen {1} finnes ikke i begrepsmodelltypen {2}.�Typen {0} for medlemmet {1} i typen {2} på begrepssiden samsvarer ikke med typen {3} for medlemmet {4} i typen {5} på objektsiden.�Egenskapen {0} i begrepsmodelltypen {1} er av typen {2}. Egenskapen {3} i CLR-typen {4} er av typen {5}. Egenskapstypene må samsvare.�Antall medlemmer i begrepstypen {0} samsvarer ikke med antall medlemmer i typen {1} på objektsiden. Kontroller at antall medlemmer er identisk.�Typen {0}({1}) for medlemmet {2} i begrepstypen {3} samsvarer ikke med typen {4}({5}) for medlemmet {6} i typen {7} på objektsiden.�Mangfoldigheten {0} i End {1} i Association {2} på begrepssiden samsvarer ikke med mangfoldigheten {3} i End {4} i Association {5} på objektsiden.QVersjonen av EdmItemCollection må samsvare med versjonen av StoreItemCollection.�Versjonen av de innlastede tilordningsfilene må være den samme som versjonen av den innlastede EdmItemCollection og StoreItemCollection.�Flagget MakeColumnsDistinct kan bare plasseres i en beholder som ikke genererer oppdateringsvisninger. Merk attributtet GenerateUpdateViews som false i EntityContainerMapping.FDen begrepsmessige AssociationSet {0} kan ikke tilordnes flere ganger.hFant flere egenskapstilordninger for egenskapen {0} ved søk uten skille mellom store og små bokstaver.$Typen {0} er tilordnet flere ganger.9Den angitte spørringsvisningen for EntitySet {0} er tom.GDen angitte spørringsvisningen IsTypeOf({0}) for EntitySet {1} er tom.LDen angitte spørringsvisningen for EntitySet {0} for EntityType {1} er tom.�EntitySet {0} som brukes til å opprette Ref-uttrykket, samsvarer ikke med EntitySet {1} som ble deklarert i AssociationSetEnd {2} i AssociationSet {3}.�Typen {0} som er definert i begrepsmodellen, kan ikke tilordnes til typen {1} fra objektlaget. En opplistingstype kan ikke tilordnes til en ikke-opplistingstype.^En opplistingsverdi som ikke er tom, må angis for betingelsestilordning for opplistingen {0}.OOpplistingsverdien {0} som er angitt i betingelsestilordningen, er ikke gyldig.�Opplistingstypen {0} som er definert i objektlaget, har ikke et medlem som tilsvarer medlemmet {1} med verdien {2} av opplistingstypen {3} som er definert i begrepsmodellen.�Den underliggende typen {0} av opplistingstypen {1} som er definert i begrepsmodellen, samsvarer ikke med den underliggende typen {2} av opplistingstypen {3}, som er definert i objektlaget.�Nøkkelegenskapene til alle enhetstyper som returneres av funksjonsimporten {0}, må tilordnes til samme kolonner som ikke kan nullstilles, av lagringsfunksjonen.�Den angitte betingelsesverdien for {0} er ikke kompatibel med typen som ble returnert av lagringsleverandøren. Kolonnenavn: {1}, ResultType: {2}. �Et {0}-element kan bare deklareres for en FunctionImport som deklarerer et EntitySet. FunctionImport {1} deklarerer ikke noe EntitySet.?Kan ikke løse til en bestemt overbelastning av funksjonen {0}.0FunctionImport {0} finnes ikke i beholderen {1}.)FunctionImport {0} er allerede tilordnet.VReturtypen {0} til funksjonsimporten {1} er abstrakt, og kan ikke tilordnes implisitt.bImportfunksjonen har parameteren {0}, men finner ingen tilsvarende parameter i lagringsfunksjonen.�Lagringsfunksjonsparameteren {0} av typen {1} samsvarer ikke med den tilsvarende FunctionImport-parameteren av opplistingstypen {2} med underliggende type {3}. Den underliggende typen for opplistingsparameteren for en funksjon som er definert i begrepsmodellen, må samsvare med den tilsvarende parametertypen for lagringsfunksjonen.WParameteren {0} har modusen {1} i lagringsfunksjonen, men modusen {2} i FunctionImport.xParameteren {0} har typen {1} i lagringen, og den er ikke kompatibel med typen {2}, som er deklarert for FunctionImport.{Angitt EntityType {0} er ikke den deklarerte typen {1} eller en utleding av typen for EntitySet {2} for FunctionImport {3}.oIngen tilordning angitt for begrepsegenskapen {0} av typen {1} i resultattilordningen av funksjonsimporten {2}.qAntallet ResultMapping-elementer for FunctionImport {0} samsvarer ikke med antallet angitte ReturnType-elementer.�Tilordning av funksjonsimporten {0} er ikke gyldig. ComplexTypeMapping støttes bare for funksjonsimporter som returnerer en samling med ComplexType.�Tilordning av funksjonsimporten {0} er ikke gyldig. EntityTypeMapping støttes bare for funksjonsimporter som returnerer en samling med EntityType.{Tilordning av funksjonsimporten {0} er ikke gyldig. Det forventes at returtypen for lagringsfunksjonen er en samling rader.Tilordning av funksjonsimporten {0} er ikke gyldig. Tilordnet type {1} er ikke kompatibel med returtypen til funksjonsimporten.GParameteren {0}, som er berørt av rader, finnes ikke i funksjonen {1}.WParameteren {0} som er berørt av rader, har modusen {1}. Må ha modusen {2} eller {3}.]Parameteren {0} som er berørt av rader, er av typen {1}. Må være en numerisk heltallstype.�Funksjonsimporten {0} kan bare tilordnes en lagerfunksjon som returnerer rader med én kolonne. Lagerfunksjonen {1} returnerer rader med flere kolonner.gReturtypen {0} for funksjonsimporten {1} er ikke kompatibel med returtypen {2} for lagerfunksjonen {3}.#Lagringsfunksjonen {0} finnes ikke.�Funksjonsimporten {0} som kan komponeres, er tilordnet lagerfunksjonen {1}, som ikke kan komponeres. Funksjonsimporter som kan komponeres, kan bare tilordnes table-valued lagerfunksjoner som kan komponeres.�Funksjonsimporten {0} som ikke kan komponeres, er tilordnet lagerfunksjonen {1}, som kan komponeres. Funksjonsimporter som ikke kan komponeres, kan bare tilordnes lagrede prosedyrer.`Lagringsfunksjonen har parameteren {0}, men finner ingen tilsvarende parameter i FunctionImport.�Funksjonsimporttilordningen kan ikke produsere en enhet fra typehierarkiet {0}. Kontroller at betingelsene utvetydig angir en type i hierarkiet. Se linje {1}.�Funksjonsimporttilordningen kan ikke produsere en enhet av typen {0}. Kontroller at betingelsene utvetydig angir typen. Se linje {1}.wTypen som ble returnert av lagringsleverandøren, støttes ikke for typebetingelser. Kolonnenavn: {0}, ResultType: {1}.Feil: Tilordning ikke gyldigUEntityType {0} er abstrakt og kan ikke tilordnes ved hjelp av en funksjonstilordning.FEntityType {0} som brukes i IsTypeOf, har ingen konkrete etterkommere.GEntityType {0} er abstrakt og kan bare tilordnes ved hjelp av IsTypeOf.bAssociationSet {0} kan ikke ha en Condition fordi det ikke tilbyr tilordninger for End-elementene.[AssociationSet {0}, som er angitt som en del av denne MSL, finnes ikke i MetadataWorkspace.\AssociationType {0}, som er angitt som en del av denne MSL, finnes ikke i MetadataWorkspace.iNavn på AssociationType må angis når du angir en funksjonstilordning eller tilordning av End-egenskap.�Innhold ikke gyldig. Begrepssidemedlemmet eller -egenskapen {0}, som er angitt som en del av denne MSL, finnes ikke i MetadataWorkspace.UKolonnen {0}, som er angitt som en del av denne MSL, finnes ikke i MetadataWorkspace.bDen sammensatte typen {0}, som er angitt som en del av denne MSL, finnes ikke i MetadataWorkspace.SDu kan ikke angi både begrepsmodell og kolonnemedlemmer for betingelsestilordning.YDu kan ikke angi både attributtet Value og attributtet IsNull for betingelsestilordning.�Betingelse kan ikke angis for kolonnemedlemmet {0} fordi det er merket med StoreGeneratedPattern av typen Computed eller Identity.KDu må angi begrepsmodell eller kolonnemedlemmer for betingelsestilordning.BDu må angi Value eller IsNullAttribute for betingelsestilordning.7Medlemmet {0} som er angitt i betingelsen, finnes ikke.gBetingelsen kan ikke angis på verdier for medlemmet {0}. Verdibetingelser støttes ikke for typen {1}.>Betingelser støttes ikke i medlemmer med sammensatte verdier.fForventer bare elementer av typen EntitySetMapping, AssociationSetMapping eller FunctionImportMapping.qBegrepssidemedlemmet eller -egenskapen {0} har flere tilordninger angitt som en del av samme tilordningsfragment.dMedlemmet eller egenskapen {0} har flere betingelser angitt som en del av samme tilordningsfragment.;Minst én egenskap må tilordnes i settilordningen for {0}.[End-egenskapen {0}, som er angitt som en del av denne MSL, finnes ikke i MetadataWorkspace.Egenskapen {0} er ikke nøkkelmedlem av EntityType. Bare nøkkelmedlemmer kan tilordnes som en del av tilordningen EndProperty.pEntityContainer {0} for begrepsmodellen, som er angitt som en del av denne MSL, finnes ikke i MetadataWorkspace.VEntitySet {0}, som er angitt som en del av denne MSL, finnes ikke i MetadataWorkspace.WEntityType {0}, som er angitt som en del av denne MSL, finnes ikke i MetadataWorkspace.dAngitt EntityType {0} er ikke den deklarerte typen {1} eller en utleding av typen for EntitySet {2}.VAssociationType {0} har en begrensning for referanseintegritet, og kan ikke tilordnes.�AssociationType {0} har en begrensning for referanseintegritet fra primærnøkkel til primærnøkkel. Eventuelle tilordninger vil bli ignorert.Innhold i MSL er ikke gyldig.4Mangler avsluttende parentes i IsOfType-deklarasjon.qEntityContainer {0} for lagringsmodellen, som er angitt som en del av denne MSL, finnes ikke i MetadataWorkspace.UTabellen {0}, som er angitt som en del av denne MSL, finnes ikke i MetadataWorkspace.7Et tabelltilordningselement forventes, men finnes ikke.sBare EntityTypeMapping- og QueryView-elementer er tillatt når EntityType-navnet ikke er angitt i EntitySetMapping.XXML-analyse mislyktes for tilordning av XML-skjema. Feilinformasjon for XML-skjema: {0}.eValidering av XML-skjema mislyktes for tilordning av XML-skjema. Feilinformasjon for XML-skjema: {0}.VAngitt AssociationType {0} er ikke av den deklarerte typen {1} for AssociationSet {2}.�Ugyldig rotelement funnet i tilordningsfilen. Kontroller at rotelementets lokale navn er Tilordning og at namespaceURI er {0}, {1} eller {2}.:Egenskapen {0} på begrepssiden er ikke en skalaregenskap.�Den angitte medlemstilordningen er ikke gyldig. Typen {0} for medlemmet {1} i typen {2} er ikke kompatibel med {3} for medlemmet {4} i typen {5}.rSpørringsvisningen som er generert for EntitySet {0}, er ikke gyldig. Spørringsparseren gav følgende feil: {1}.pSpørringsvisningen som er angitt for EntitySet {0}, er ikke gyldig. Spørringsparseren gav følgende feil: {1}.~ResultType for spørringsvisningsuttrykket som er angitt for EntitySet {0}, kan ikke tilordnes til elementtypen for EntitySet.�Hvis EntitySet eller AssociationSet inkluderer en spørringsvisning, må alle relaterte enhets- og tilknytningssett i EntityContainer også definere spørringsvisninger. Følgende sett krever spørringsvisninger: {0}.�GlobalItem med navnet {0} finnes i både begrepsmodellen og lagringsmodellen. Kontroller at alle elementer har unike navn i begrepsmodellen og lagringsmodellen.[En tilordningsfunksjonsbinding angir en tvetydig funksjon, {0}, med flere overbelastninger.qEn funksjonstilordning inkluderer flere resultatbindinger for én egenskap. Egenskapsnavn: {0}. Kolonnenavn: {1}.eTillater ikke en funksjonstilordning for 'to'-rollen {0} fordi det er en sekundærnøkkeltilknytning.\EntityType {0} inkluderer funksjonstilordninger for AssociationSet {1} som krever typen {2}.�AssociationSet-forekomster kan bare tilordnes ved hjelp av funksjoner i én EntitySetMapping eller AssociationSetMapping. Følgende AssociationSet-forekomster er tilordnet flere steder: {0}.~En End-tilordning for tilknytning har 'to'-Role {0} med større mangfoldighet enn én. Maksimal støttet mangfoldighet er én.aEn End-tilordning for tilknytning angir AssociationSet {0}, som ikke finnes i gjeldende beholder.jEn End-tilordning for tilknytning definerer en fra-Role, {0}, som  ikke er bundet til gjeldende EntitySet.�EntitySet {0} inkluderer funksjonstilordninger for AssociationSet {1}, men det finnes ingen i elementet {2} for typen {3}. AssociationSets må tilordnes konsekvent for alle operasjoner.aEn End-tilordning for tilknytning angir en Role, {0}, som ikke finnes i gjeldende AssociationSet.:Finner ikke ComplexType {0} i gjeldende MetadataWorkspace.cEn EntityType-tilordning som inneholder en funksjonstilordning, kan ikke angi egenskapen TableName.�Hvis en EntitySet-tilordning inkluderer en funksjonsbinding, må funksjonsbindinger inkluderes for alle typer. Følgende typer har ikke funksjonsbindinger: {0}.kEn tilordningsfunksjonsbinding angir funksjonen {0}, men tilordner ikke følgende funksjonsparametere: {1}.�Hvis noen av EntitySet eller AssociationSet er tilordnet til samme lager EntitySet, og bare ett av settene inkluderer en funksjonstilordning, må alle relaterte enheter og AssociationSets i EntityContainer, også definere funksjonstilordninger. Følgende sett krever funksjonstilordninger: {0}.<Kan ikke fastsette versjonen for gjeldende parameterbinding.�En funksjonstilordning inkluderer parameterbindinger for to ulike Ends i samme AssociationSet. Bare én End for et bestemt AssociationSet kan tilordnes i én funksjonstilordning. End-roller: {0}, {1}. AssociationSet: {2}.�En tilordningsfunksjonsbinding for EntityType kan ikke tilordne flere typer. Funksjonstilordninger kan bare angis for EntityType-tilordninger for enkel typer. Ikke bruk modifikatoren IsTypeOf eller angi flere typer.~En tilordningsfunksjonsbinding angir funksjonen {0}, som ikke støttes. Det er bare støtte for funksjoner som kan komponeres.�En tilordningsfunksjonsbinding angir funksjonen {0}, som har en parameter som ikke støttes: {1}. Utdataparametere kan bare tilordnes via egenskapen {2}. Bruk resultatbindinger til å returnere verdier fra en funksjonsaktivering.'Parameteren {0} er bundet flere ganger.;Funksjonsparameteren {0} er ikke definert i funksjonen {1}.'Egenskapen {0} finnes ikke i typen {1}.sEgenskapen {0} er ikke en nøkkel for {1}. End-tilordninger for tilknytninger kan bare inkludere nøkkelegenskaper.�Den angitte parametertilordningen er ikke gyldig. Typen {0} for medlemmet {1} i typen {2} er ikke kompatibel med {3} for parameteren {4} i funksjonen {5}.8EntityType {0} er tilordnet til funksjoner flere ganger.@En tilordningsfunksjonsbinding angir den ukjente funksjonen {0}.ZDenne funksjonstilordningen kan bare inneholde bindinger til gjeldende egenskapsversjoner.]Denne funksjonstilordningen kan bare inneholde bindinger til opprinnelige egenskapsversjoner.TDen sammensatte typen {0} samsvarer ikke med typen for den gjeldende egenskapen {1}.=Finner ikke tilordningen for EntityContainer {0} i Workspace.;Finner ikke objekttilordning for typen med identiteten {0}.?Lagerleverandøren returnerte ikke noen gyldig EdmType for {0}."Tilkoblingen er ikke av typen {0}.7Det angitte leverandørmanifestet er ikke av typen {0}.:Én QueryView er definert for flere typer i EntitySet {0}.MIsTypeOf( ) QueryView er allerede definert for EntitySet {0} og TypeName {1}.AQueryView er allerede definert for EntitySet {0} og TypeName {1}.OIsTypeOf({0}) QueryView skal ikke angis for {1} elementtypen {0} for EntitySet.`Egenskapstilordninger kan ikke angis for EntitySet {0}, ettersom en spørringsvisning er angitt.gEgenskapen TypeName må defineres for alle unntatt første QueryViews i tilordningen for EntitySet {0}.Lagringstilordningen kan bare slås opp fra typen i begrepsmodellen. Den kan ikke slås opp fra typen i følgende område: {0}.�Egenskapen {0} på begrepssiden er allerede tilordnet til en lagringsegenskap med typen {1}. Hvis egenskapen på begrepssiden er tilordnet til flere egenskaper i lagringsmodellen, må du kontrollere at alle egenskapene i lagringsmodellen har samme type.oEntitySet-navn for lager kan ikke angis i settilordning for Set {0}, ettersom en spørringsvisning blir angitt.TFørste QueryView kan ikke være typespesifikk. Prøv å fjerne egenskapen TypeName.{Spørringsvisningen som er angitt for typen(e) {1} for EntitySet {0}, inneholder et uttrykk av typen {2} som ikke støttes.�Spørringsvisningen som er angitt for EntitySet {0}, inneholder et kall til funksjonen {1}. Det kan bare refereres til lagringsfunksjoner i en spørringsvisning.�Spørringsvisningen som er angitt for EntitySet {0}, initialiserer en forekomst av typen {1}. Bare typer som kan tilordnes til elementtypen for EntitySet, er tillatt.�Spørringsvisningen som er angitt for EntitySet {0}, inneholder en referanse til medlemmet {1} av typen {2}. Det kan bare refereres til kolonner.�Spørringsvisningen som er angitt for EntitySet {0}, inkluderer en skanning av EntitySet {1}. Det kan bare refereres til EntitySets for lagring i en spørringsvisning.RFant ingen visninger i samlinger, eller ingen visninger kan genereres for {0} {1}.sEt objekt med nøkkelverdien {0} finnes allerede i tillagt tilstand. Et objekt i denne tilstanden kan ikke flettes.<Resultatet av en spørring kan ikke listes opp flere ganger.hDen angitte endringen fra en materialisert {0}-type til en {1}-type som kan nullstilles, er ikke gyldig.QDen angitte endringen fra en materialisert {0}-type til {1}-typen er ikke gyldig.�Endringen til verditypen {0} mislyktes fordi den materialiserte verdien er null. Resultattypens standardparameter eller spørringen må bruke en type som kan nullstilles.2Denne egenskapen kan ikke settes til en nullverdi.0Egenskapen {0} kan ikke settes til en nullverdi.�Alle objekter i EntitySet {0} må ha unike primærnøkler. En forekomst av typen {1} og en forekomst av typen {2} har imidlertid samme primærnøkkelverdi, {3}. xEgenskapen {2} i {1} kan ikke angis til en {3}-verdi. Du må sette denne egenskapen til en ikke-nullverdi av typen {0}. JBare primitive typer, enhetstyper og sammensatte typer kan materialiseres.QEnhetssettet eller funksjonsimporten {0} er ikke definert i enhetsbeholderen {1}.=Medlemmet med identiteten {0} finnes ikke i medlemssamlingen.Feil: Inkonsekvente metadataMetodeaktivering støttes ikke.WMinimums- og maksimumsverdier må være større enn eller lik null for {0} i typen {1}.qMinimums- og maksimumsverdier kan ikke være identiske for {0} i typen {1} fordi {0} ikke er angitt som konstant.bMinimums- og maksimumsverdier kan ikke angis for {0} i typen {1} fordi {0} er angitt som konstant.�Minimumsverdien {0} som er angitt for {1} i typen {2}, er ikke gyldig. Minimumsverdien må alltid være lavere enn maksimumsverdien.cAntall egenskaper i Dependent og Principal Role i en relasjonsbegrensning må være nøyaktig likt.FRelasjonen {0} inneholder ikke den nødvendige referansebegrensningen.jMangler standardverdi for {0} i typen {1}. Standardverdien må angis, ettersom {0} er angitt som konstant.�EntitySet for End {0} i AssociationSet {1} er ikke angitt og kan ikke utledes, ettersom ingen av EntitySet-elementene er av riktig type.ITypen {0} er av PrimitiveTypeKind {1}, som må ha fasettbeskrivelsen {2}.$Navnet mangler eller er ikke gyldig.:Skjemaet må inneholde en verdi for attributtet Namespace.BFlere elementer i metadatasamlingen samsvarer med identiteten {0}.>Parameteren {0} er definert flere ganger i parametersamlingen.<Variabelen {0} er definert flere ganger i variabelsamlingen.+Elementtyper for multisett er inkompatible.@Navneområdealiaset {0} ble brukt i en tidligere USING-direktiv.)Navneområdet {0} var allerede importert.�EntityType {0}, som NavigationProperty {1} er deklarert i, er ikke av samme type ({4}) som referert til av enden {3} i RelationshipType {2}, som denne NavigationProperty representerer.�Navneområdet {0} er et systemnavneområde og blir implisitt referert til av alle XML-skjemaer. Du kan ikke angi en eksplisitt referanse til dette navneområdet.>Den nestede tallverdien {0} kan ikke brukes i tallverdien {1}.MTypen {0} i samlingen {1} er en nestet klasse. Nestede klasser støttes ikke.}Typen {0} som lastes inn, er i konflikt med typen {1} som allerede er lastet inn, ettersom de har samme navneområde og navn.WIngen overbelastning av mengdefunksjonen {0}.{1} er kompatibel med argumenttyper i {2}.�Ingen overbelastning av den kanoniske mengdefunksjonen {0}.{1} er kompatibel med argumenttypene i {2}. Se leverandørspesifikk funksjonsdokumentasjon for lagerfunksjoner med lignende bruksområder.�Ingen overbelastning av den kanoniske funksjonen {0}.{1} er kompatibel med argumenttypene i {2}. Se leverandørspesifikk funksjonsdokumentasjon for potensielle lagerfunksjoner med lignende bruksområder.CNavneområdet {0} er reservert for Entity Framework-kodegenerering.*Området {0} har ingen tilknyttet samling.RIngen overbelastning av funksjonen {0}.{1} er kompatibel med argumenttypene i {2}.`Det finnes ingen lagertype som tilsvarer typen {0} på begrepssiden for den primitive typen {1}.rFunksjoner som ikke kan komponeres, kan ikke angi mengdefunksjonsattributter eller innebygde funksjonsattributter.DFunksjoner som ikke kan komponeres, kan ikke deklarere en returtype.�{0} er ikke medlem av {1}. Hvis du vil trekke ut egenskaper av et samlingselement, må du bruke en delspørring til å oppdatere samlingen.R{0} er ikke medlem av typen {1} i XML-skjemaene som er lastet inn for øyeblikket.9Typen {0} er verken en undertype eller supertype for {1}.%PrimitiveType er ikke en binær type.;Den angitte primitive typen er ikke en DateTimeOffset-type.'PrimitiveType er ikke en DateTime-type.&PrimitiveType er ikke en Decimal-type.;Typen {0} er ikke definert i navneområdet {1} (alias={2})./Typen {0} er ikke definert i navneområdet {1}.rTypen {0} er ikke kvalifisert med et navneområde eller alias. Bare primitive typer kan brukes uten kvalifisering.$PrimitiveType er ikke en strengtype.1Den angitte primitive typen er ikke en Time-type.ZMinst én av inndatabanene er ikke gyldig, ettersom den er for lang eller har feil format.;En NULL-litteral kan ikke forfremmes til en CollectionType.FEdmRelationshipAttribute for relasjonen {1} har en nullparameter, {0}.RParameteren RelationshipName for EdmRelationshipAttribute i samlingen {0} er null.'Typekonstruktørargumentet {0} mangler.eAntall argumenter som ble sendt til typekonstruktøren {0}, overskrider den formelle spesifikasjonen.�Endringene i databasen ble lagret, men det oppstod en feil under oppdatering av objektkonteksten. ObjectContext er kanskje i en inkonsekvent tilstand. Melding om indre unntak: {0}SEt objekt med en midlertidig EntityKey-verdi kan ikke kobles til en objektkontekst.OEt objekt med en nullverdi for EntityKey kan ikke kobles til en objektkontekst.HKan ikke slette objektet fordi det ikke ble funnet i ObjectStateManager.MObjektet kan ikke kobles fra fordi det ikke er koblet til ObjectStateManager.�Kan ikke laste {0} eksplisitt for frakoblede enheter. Objekter som er lastet med flettealternativet NoTracking, er alltid frakoblet.^Kan ikke laste inn {0} ved å bruke en annen kontekst enn den som objektet ble lastet inn med.�Egenskapen DefaultContainerName er allerede angitt for denne ObjectContext. Denne egenskapen kan ikke endres etter at den er angitt. MFølgende objekter er ikke oppdatert fordi de ikke ble funnet i lageret: {0}.�Operasjonen mislyktes: Relasjonen kan ikke endres fordi én eller flere av sekundærnøkkelegenskapene ikke kan nullstilles. Når en relasjon blir endret, settes den relaterte sekundærnøkkelegenskapen til en nullverdi. Hvis sekundærnøkkelen ikke støtter nullverdier, må det defineres en ny relasjon, sekundærnøkkelegenskapen må tilordnes en annen verdi forskjellig fra null, eller det urelaterte objektet må slettes.�EntityContainer-navnet kan ikke fastsettes. Det angitte EntitySet-navnet må kvalifiseres av EntityContainer-navnet, for eksempel EntityContainerName.EntitySetName, eller egenskapen DefaultContainerName må angis for ObjectContext.�Objektet i ObjectContext er av typen {0}, men det endrede objektet som ble angitt, er av typen {1}. De to objektene må ha samme EntityType for at endringer skal bli brukt. �Objektet kan ikke kobles til fordi det allerede er i objektkonteksten. Et objekt kan bare kobles til på nytt når det har uendret tilstand. 'Finner ikke EntityContainer-navnet {0}.�Det eksisterende objektet i ObjectContext er i tilstanden {0}. Endringer kan bare brukes når det eksisterende objektet er i uendret eller modifisert tilstand.�Det eksisterende objektet i ObjectContext er i tilstanden {0}. Opprinnelige verdier kan ikke endres når det eksisterende objektet har en uendret, modifisert eller slettet tilstand.�Den angitte enheten kan ikke slettes fra ObjectSet fordi enheten er medlem av EntitySet {0}.{1} i stedet for EntitySet {2}.{3} som refereres av ObjectSet. Bruk DeleteObject-metoden på ObjectSet som inneholder enheten, eller bruk metoden ObjectContext.DeleteObject hvis du vil slette enheten uten å validere dens EntitySet.�Kan ikke slette den angitte enheten fra ObjectSet fordi enheten er medlem av EntitySet {0}.{1} i stedet for EntitySet {2}.{3} som er referert av ObjectSet. Bruk Detach-metoden på ObjectSet som inneholder enheten, eller bruk metoden ObjectContext.Detach hvis du vil slette enheten uten å validere dens EntitySet.�Finner ikke et objekt med en nøkkel som samsvarer med nøkkelen til det leverte objektet, i ObjectStateManager. Bekreft at objektet som må endres, ikke er i Added-tilstand og at nøkkelverdiene samsvarer med nøkkelverdiene til det leverte objektet.�Kan ikke fastsette EntitySet-navnet. Hvis du vil koble til et objekt, må du angi et gyldig EntitySet-navn og kontrollere at objektet har en gyldig EntityKey.!Finner ikke EntitySet-navnet {0}.WNår en kommando kjøres, må parameterne bare være databaseparametere eller -verdier.�Den lagrede prosedyren eller funksjonen {0} har ingen returtype. ExecuteFunction støtter bare lagrede prosedyrer og funksjoner som har en returtype. 7Parameteren i indeksen {0} i parametermatrisen er null.�Den lagrede prosedyren eller funksjonen {1} returnerte typen {0}. ExecuteFunction støtter bare lagrede prosedyrer og funksjoner som returnerer samlinger med enhetsobjekter eller samlinger av komplekse objekter. iTypeparameteren {0} i ExecuteFunction er ikke kompatibel med typen {1}, som ble returnert av funksjonen. RDen angitte CommandTimeout-verdien er ikke gyldig. Den må være et positivt tall.uDen angitte tilkoblingen er ikke gyldig fordi den inneholder utilstrekkelig informasjon om tilordning eller metadata.|Den angitte tilkoblingsstrengen er ikke gyldig fordi den inneholder utilstrekkelig informasjon om tilordning eller metadata.wDbDataAdapter som returneres fra DbConnection.ProviderFactory.CreateDataAdapter(), må implementere IEntityDataAdapter.iFinner ikke det angitte standardnavnet {0} for EntityContainer i informasjonen om tilordning og metadata.FDet angitte EntitySet {0}.{1} inneholder ikke resultater av typen {2}.mEntitySet-navnet {0}.{1} fra objektets EntityKey samsvarer ikke med det forventede EntitySet-navnet, {2}.{3}.�EntitySet-navnet {0}.{1} fra enhetens EntityKey samsvarer ikke med det forventede EntitySet-navnet, {2}.{3} fra parameteren {4}.HEntitySet {0} fra enhetens EntityKey samsvarer ikke med enhetstypen {1}.�EntityState-verdien som ble sendt for enheten, er ikke gyldig. EntityState-verdien må være én av følgende: Added, Deleted, Detached, Modified eller Unchanged.KDen angitte enhetstypen {0} samsvarer ikke med typen {1} fra EntitySet {2}.�EntityState-verdien som ble sendt for relasjonen, er ikke gyldig. EntityState-verdien må være én av følgende: Added, Deleted, Detached eller Unchanged. Relasjoner kan ikke settes til statusen Modified.SResultattypen {0} kan ikke være abstrakt og må inkludere en standardkonstruktør.�Metadataene som er lagret i ObjectContext, er forskjellige fra metadataene som er lagret i ObjectContext-tilkoblingen. Dette kan skje hvis tilkoblingsstrengen endres etter at ObjectContext er opprettet.�EntitySet kunne ikke fastslås for den angitte enhetstypen {0}, fordi det finnes mer enn ett EntitySet definert for denne typen i flere EntityContainers i metadataene. Bruk overlasten for metoden CreateObjectSet<TEntity>(), som bruker en strengparameter, hvis du ønsker å bruke TEntity-typen og et bestemt EntitySet.�EntitySet kunne ikke fastslås for den angitte enhetstypen {0}, fordi det finnes mer enn ett EntitySet definert for denne typen i EntityContainer {1}. Bruk overlasten for metoden CreateObjectSet<TEntity>(), som bruker en strengparameter, hvis du ønsker å bruke TEntity-typen og et bestemt EntitySet.�Det er ikke definert noen EntitySets for den angitte enhetstypen {0}. Hvis {0} er en avledet type, må du i stedet bruke grunntypen.EFinner ikke informasjon om tilordning og metadata for EntityType {0}.�Elementet i indeksen {0} i objektsamlingen som skal oppdateres, er i tillagt tilstand. Objekter i denne tilstanden kan ikke oppdateres.|Elementet i indeksen {0} i objektsamlingen som skal oppdateres, er et duplikat av et objekt som allerede finnes i samlingen.HElementet i indeksen {0} i objektsamlingen som skal oppdateres, er null.�Elementet i indeksen {0} i objektsamlingen som skal oppdateres, har en egenskapsverdi for EntityKey som er null, eller er ikke koblet til denne ObjectStateManager.hObjectContext-forekomsten er fjernet og kan ikke lenger brukes til operasjoner som krever en tilkobling.9Finner ikke noe objekt med den angitte EntityKey-verdien.�Det angitte EntitySet-navnet må kvalifiseres av EntityContainer-navnet, for eksempel EntityContainerName.EntitySetName, eller egenskapen DefaultContainerName må angis for ObjectContext.�Operasjonen kan ikke fullføres fordi de nødvendige metadataene ikke ble funnet. Kontroller at tilkoblingen som brukes av ObjectContext, er åpen før du prøver denne operasjonen.HValguttrykket for LoadProperty må være et MemberAccess for egenskapen.SOppdateringsforsøket mislyktes fordi en uventet enhet ble returnert av datakilden.oKolonnen {0} er tilordnet til flere egenskaper {1}. Kontroller at det finnes en egen kolonne for hver egenskap.yDet finnes allerede en parameter med navnet {0} i parametersamlingen. Parameternavn må være unike i parametersamlingen.fParameteren {0} finnes allerede i parametersamlingen. Parametere må være unike i parametersamlingen.;Finner ingen parameter med navnet {0} i parametersamlingen.�Parametere kan ikke legges til i eller fjernes fra parametersamlingen, og parametersamlingen kan ikke fjernes etter at en spørring er evaluert eller sporingsstrengen er hentet.  �Det angitte parameternavnet {0} er ikke gyldig. Parameternavn må begynne med en bokstav og kan bare inneholde bokstaver, tall og understrekingstegn.�Den angitte parametertypen {0} er ikke gyldig. Bare skalartyper, for eksempel System.Int32, System.Decimal, System.DateTime og System.Guid, støttes.7Du må angi en tilkobling før spørringen kan kjøres.@Kommandoteksten for en ObjectQuery-forekomst kan ikke være tom.�Det angitte spørringsnavnet {0} er ikke gyldig. Spørringsnavn må begynne med en bokstav og kan bare inneholde bokstaver, tall og understrekingstegn.=Du må angi et gyldig predikat for filtrering av resultatene.ADu må angi en gyldig nøkkelliste for gruppering av resultatene.(Du må angi en gyldig projiseringsliste.hAngitt ObjectQuery er ikke gyldig for denne operasjonen fordi den er knyttet til en annen ObjectContext.~{0} er ikke en gyldig type for typefiltreringsoperasjoner. Typefiltrering er bare gyldig for enhetstyper og sammensatte typer.)Du må angi et gyldig antall hoppet over.@Du må angi en gyldig nøkkelliste for sortering av resultatene.%Du må angi et gyldig resultatantall.�Spørreverktøymetoder støttes ikke for spørringer av typen LINQ to Entities. Se dokumentasjonen for Entity Framework hvis du vil ha mer informasjon.�Resultattypen for spørringen er ikke EntityType eller CollectionType med en enhetselementtype. En Include-bane kan bare angis for en spørring med en av disse resultattypene.nEn angitt Include-bane er ikke gyldig. EntityType {0} deklarerer ikke noen navigasjonsegenskap med navnet {1}.TDet oppstod en feil under parsing av Include-banen. Fant en tom navigasjonsegenskap. Banen består bare av mellomrom.[Resultattypen for spørringen kan ikke fastsettes fordi de nødvendige metadataene mangler.�Samlingen i projeksjonen er av typen {0}. Hvis en samling skal kunne forvandles til en projeksjon, må den være av typen ICollection<T>, IList<T>, ISet<T> eller av en konkret type som implementerer ICollection<T> og har en parameterløs konstruktør.^Matrisetypen {0} kan ikke initialiseres i et spørringsresultat. Vurder å bruke {1} i stedet.iObjectStateEntry er en nøkkeloppføring, og de gjeldende og opprinnelige verdiene er ikke tilgjengelige.YObjectStateEntry er en nøkkeloppføring. Delete kan ikke kalles for nøkkeloppføringer.HObjectStateEntry er en nøkkeloppføring, og tilstanden kan ikke endres.MEgenskapen {0} er en del av objektets nøkkelinformasjon om kan ikke endres. hObjektet er i frakoblet eller slettet tilstand. Kan ikke endre noen ObjectStateEntry i denne tilstanden.aObjectStateEntry er en relasjonsoppføring. Tilstanden for relasjonsoppføringer kan ikke endres.xObjectStateEntry er en relasjonsoppføring. Gjeldende og opprinnelige verdier for relasjonsoppføringer kan ikke endres.PEgenskapen EntityKey kan bare angis når gjeldende verdi for egenskapen er null.�Egenskapen {0} har ingen gyldig enhetstilordning i den sammensatte typen. Se dokumentasjonen for Entity Framework hvis du vil ha mer informasjon.�Egenskapen {0} har ingen gyldig enhetstilordning i enhetsobjektet. Se dokumentasjonen for Entity Framework hvis du vil ha mer informasjon.�Endringen kan ikke spores fordi tilstanden for objektet er endret fra {0} til {1} siden forrige kall til EntityMemberChanging eller EntityComplexMemberChanging i samme endringssporingsenhet med samme egenskapsnavn. Se dokumentasjonen for Entity Framework hvis du vil ha mer informasjon. �Enheten av typen {0} refererer mer enn én gang til det samme komplekse objektet {1}. Komplekse objekter kan ikke refereres flere ganger av samme enhet.xObjectStateEntry har ingen gjeldende verdier. Objekter i slettet eller frakoblet tilstand kan ikke ha gjeldende verdier.�EntityMemberChanged eller EntityComplexMemberChanged ble kalt uten først å kalle EntityMemberChanging eller EntityComplexMemberChanging i samme endringssporingsenhet med samme egenskapsnavn. Se dokumentasjonen for Entity Framework hvis du vil ha mer informasjon. vObjektet er i frakoblet tilstand. Denne operasjonen kan ikke utføres på ObjectStateEntry når objektet er frakoblet.�Kan ikke angi verdien for den komplekse egenskapen. Komplekse egenskaper må settes til et objekt som implementerer IExtendedDataRecord.�Den opprinnelige verdien for egenskapen {0} kan ikke settes til null fordi medlemmet {1} for enhetstypen {2} ikke kan nullstilles.ObjectStateEntry har ingen opprinnelige verdier. Objekter i tillagt eller frakoblet tilstand kan ikke ha opprinnelige verdier. �Kan ikke returnere et RelationshipManager-objekt for denne ObjectStateEntry-forekomsten. Bare en ObjectStateEntry som representerer en enhet har en tilknyttet RelationshipManager.XEgenskapen {0} er ikke en gyldig egenskap i objektet som ObjectStateEntry refererer til.R{0} kan ikke kalles fordi objektet ikke er i en modifisert eller uendret tilstand.�Den opprinnelige verdien for egenskapen {0} kan ikke angis fordi det er en kompleks egenskap. Individuelle skalaregenskaper kan angis for en kompleks type hvis typen først hentes som en OriginalValueRecord fra enhetens opprinnelige verdier.jDen opprinnelige verdien for egenskapen {0} kan ikke angis fordi egenskapen er en del av enhetens nøkkel.�Navigasjonsegenskapen {0} for enheten av typen {1} må implementere IEnumerable for at Entity Framework skal kunne spore endringer i samlinger.�AcceptChanges kan ikke fortsette fordi objektets EntityKey-verdi er null eller ikke en midlertidig nøkkel. Dette kan skje når egenskapen EntityKey blir endret mens objektet er i tillagt tilstand.�Kan ikke endre relasjonens tilstand til en annen tilstand enn added eller detached hvis kilde- eller målenheten har tilstanden added.�Kan ikke endre relasjonens tilstand til en annen tilstand enn deleted eller detached hvis kilde- eller målenheten har tilstanden deleted.[Kan ikke endre tilstanden til en relasjon hvis én av endene til relasjonen er en KeyEntry.�AcceptChanges kan ikke fortsette fordi objektets nøkkelverdier er i konflikt med et annet objekt i ObjectStateManager. Kontroller at nøkkelverdiene er unike før du kaller AcceptChanges.�Kan ikke returnere en RelationshipManager for dette objektet. En RelationshipManager kan bare returneres for objekter som enten spores av ObjectStateManager eller implementerer IEntityWithRelationships.rMetoden ChangeRelationshipState støttes ikke for relasjoner som er definert ved hjelp av sekundærnøkkelverdier.�Objektstatusen kan ikke endres. Dette unntaket kan være et resultat av at én eller flere av de primære nøkkelegenskapene er angitt til null. Ikke-tillagte objekter kan ikke ha null primære nøkkelverdier. Se det indre unntaket for mer informasjon.KHar oppdaget endringer som er i konflikt med rollen {0} for relasjonen {1}.?Objekter i frakoblet tilstand finnes ikke i ObjectStateManager.�Det finnes allerede et objekt med samme nøkkel i ObjectStateManager. Det eksisterende objektet er i tilstanden {0}. Et objekt kan bare legges til i ObjectStateManager på nytt hvis det er tillagt tilstand.�Objektet kan ikke legges til i objektkonteksten. Objektets EntityKey har en ObjectStateEntry som angir at objektet allerede deltar i en annen relasjon.�Finner ikke et objekt med en nøkkel som samsvarer med nøkkelen til det leverte objektet, i ObjectStateManager. Bekreft at nøkkelverdiene til det leverte objektet samsvarer med nøkkelverdiene i objektet det skal utføres endringer på.+EntityType {0} finnes ikke i EntitySet {1}.NEt objekt av typen {0} må ha en tilsvarende EntityKey-verdi som ikke er null.)Objektets EntityKey-verdi er ikke gyldig.�Verdien til en egenskap som er en del av nøkkelen til et objekt, samsvarer ikke med den tilsvarende egenskapsverdien som er lagret i ObjectContext. Dette kan skje hvis egenskaper som er en del av nøkkelen, returnerer inkonsekvenser eller feil verdier, eller hvis DetectChanges ikke kalles etter at endringer er utført på en egenskap som ikke inngår i nøkkelen.�Objektet kan ikke kobles til fordi verdien i en egenskap som er en del av EntityKey, ikke samsvarer med den tilsvarende verdien i EntityKey.GAngitt EntityKey har ingen tilsvarende oppføring i ObjectStateManager.^ObjectStateManager inneholder ingen ObjectStateEntry med referanse til et objekt av typen {0}.�Det finnes allerede et objekt med samme nøkkel i ObjectStateManager. ObjectStateManager kan ikke spore flere objekter med samme nøkkel.�Metoden IBindingList.AddNew støttes ikke ved binding til en samling med abstrakte typer. Du må bruke metoden IList.Add i stedet.LObjektet eller dataraden i grensesnittet for databinding kan ikke erstattes.vKan ikke legge til objektet i den bundne samlingen. Spesifikt EntitySet for objektet av typen {0} kan ikke fastsettes.aObjektet som legges til, er av en type som ikke er kompatibel med typen for den bundne samlingen.]Den indeksbaserte innsettingsoperasjonen støttes ikke i dette grensesnittet for databinding.QOppdateringer kan ikke utføres i et skrivebeskyttet grensesnitt for databinding.YSamlingselementtypen OFTYPE må referere til en EntityType. Den angitte typen er {0} {1}.\Samlingselementtypen OFTYPE må referere til en nominell type. Den angitte typen er {0} {1}.HTypeargumentet OFTYPE ONLY er ikke gyldig fordi {0} er en abstrakt type.BEnhetstilkoblinger støttes ikke. Bare lagertilkoblinger støttes.AOperasjonen kan ikke utføres fordi samlingen er skrivebeskyttet.AOperasjonen kan ikke utføres fordi elementet er skrivebeskyttet.9Sorteringsnøkkeltypen ORDER BY må ha samme rekkefølge.[Alle parameternavn i en funksjon må være unike. Parameternavnet {0} er allerede definert.3Støtter ikke kommandoparameteren {0} av typen {1}.*Kommandoparameteren {0} ble ikke definert.9INTERN FEIL: Parseren fant en feil og kan ikke fortsette.-INTERN FEIL: Inndatastrømmen er ikke gyldig.WUttrykkstypen {0} må kunne forfremmes til en Edm.Int64-type. Den angitte typen er {1}.RUttrykket {0} må være en kommandoparameter eller en heltallig numerisk litteral.9Uttrykksverdien {0} må være større enn eller lik null.�{0}-operanden for {1} er ikke gyldig fordi typen {2} ikke kan sammenlignes for likhet. Bare primitive typer, opplistingstyper, enhetstyper og referansetyper kan sammenlignes for likhet.<Venstre uttrykk må være av numerisk type eller strengtype.;Høyre uttrykk må være av numerisk type eller strengtype.�Samlingsnavigasjonsegenskapen {0} for typen {1} returnerte null. Hvis en samling skal kunne initialiseres automatisk, må den være av typen ICollection<T>, IList<T>, ISet<T> eller av en konkret type som implementerer ICollection<T> og har en parameterløs konstruktør.[Kan ikke angi felt/egenskap {0} for enhetstypen {1}. Se InnerException for mer informasjon.INavigasjonsegenskapen av type {0} er ikke en enkeltimplementering av {1}.4Presisjonen {0} må være større enn skalaen {1}.  TPresisjonen {0} er ikke gyldig. Presisjon må være mellom {1} og {2} for {3}-typen.WAlle egenskapsnavn i en type må være unike. Egenskapsnavnet {0} er allerede definert.UEgenskapen {0} er ikke gyldig. Det er allerede definert en type for denne egenskapen.6Leverandøren har ikke opprettet en CommandDefinition.:Leverandøren returnerte ingen ProviderManifest-forekomst.<Leverandøren returnerte ingen ProviderManifestToken-streng.=Leverandøren returnerte ikke en DbSpatialServices-forekomst..CreateDatabase støttes ikke av leverandøren.4CreateDatabaseScript støttes ikke av leverandøren..DatabaseExists støttes ikke av leverandøren..DeleteDatabase støttes ikke av leverandøren.8Den underliggende leverandøren støtter ikke typen {0}.eDen underliggende leverandøren returnerte null da den forsøkte å escape-kode den angitte strengen./Kan ikke hente manifestet for lagerleverandør.�Denne leverandøren støtter ikke det angitte kommandotreet. EntityClient bør brukes til å opprette en kommandodefinisjon fra dette kommandotreet.:Leverandøren returnerte null fra CreateCommandDefinition.6Leverandøren returnerte null for informationType {0}.�Den underliggende leverandøren har overstyrt DbProviderManifest.SupportsEscapingLikeArgument til å returnere true, og derfor må også metoden DbProviderManifest.EscapeLikeArgument implementeres av leverandøren.GREF-argumentet må være av typen EntityType. Den angitte typen er {0}.QREF-argumentet må angi en EntityType. Typespesifikasjonen {0} representerer {1}.cReferenceType-element kan bare referere til en EntityType. {0} er ikke deklarert som en EntityType.NDen relaterte endeuttrykkstypen {0} må kunne forfremmes til to-endetypen {1}.7Det relaterte endeuttrykket må være en referansetype.JKan ikke legge til et element i en Array av typen {0} med fast størrelse.�Objektet i {0}-rollen kan ikke automatisk legges til i konteksten fordi det ble hentet ved hjelp av flettealternativet NoTracking. Koble enheten eksplisitt til ObjectContext før du definerer relasjonen.iRelasjonen mellom de to objektene kan ikke defineres fordi de er koblet til andre ObjectContext-objekter.IKan ikke fjerne et element fra en Array av typen {0} med fast størrelse.�Kan ikke serialisere {0}-objektet. Denne typen objekt kan ikke serialiseres når RelationshipManager tilhører et enhetsobjekt som ikke implementerer IEntityWithRelationships.�Relasjonen som legges til, kommer i konflikt med en eksisterende relasjon. Vurder å slette den foregående relasjonen og kalle ObjectContext.DetectChanges.|Relasjonen kan ikke defineres fordi EntitySet-navnet {0}.{1} ikke er gyldig for rollen {2} i tilknytningssettnavnet {3}.{4}.�Et objekt av typen {0} kan ikke legges til, kobles til eller fjernes fra en EntityCollection som inneholder objekter av typen {1}.mEt objekt av typen {0} kan ikke angis eller fjernes fra Value-egenskapen til en EntityReference av typen {1}.`Objektet som kobles til kildeobjektet, er ikke koblet til samme ObjectContext som kildeobjektet.�Objektet som kobles til, er i tillagt eller slettet tilstand. Det kan ikke opprettes relasjoner for objekter i denne tilstanden.�Objektet i indeksen {0} i den angitte objektsamlingen er ikke koblet til samme ObjectContext som kildeobjektet for denne EntityCollection.>Objektet i indeksen {0} i den angitte objektsamlingen er null.�Objektet i indeksen {0} i den angitte objektsamlingen er i tillagt eller slettet tilstand. Det kan ikke opprettes relasjoner for objekter i denne tilstanden.�Tilkobling er ikke en gyldig operasjon når kildeobjektet som er koblet til denne relaterte enden, er i tillagt, slettet eller frakoblet tilstand. Objekter som lastes inn ved hjelp av flettealternativet NoTracking, er alltid frakoblet.WOppdaget ugyldig relasjonsretting i navigasjonsegenskapen {0} til enheten av typen {1}.sNår et objekt returneres med flettealternativet NoTracking, kan ikke Load kalles når egenskapen IsLoaded er true.�Når et objekt returneres med flettealternativet NoTracking, kan Load bare kalles når EntityCollection eller EntityReference ikke inneholder objekter.�Relaterte objekter kan ikke lastes inn ved hjelp av flettealternativet {0}. Det kan ikke opprettes relasjoner når det ene objektet ble hentet ved hjelp av flettealternativet NoTracking og det andre objektet ble hentet ved hjelp av et annet flettealternativ.�Den forespurte operasjonen er ikke tillatt når eieren av RelatedEnd er null. RelatedEnd-objekter som ble opprettet med standardkonstruktøren, kan bare brukes som beholder under serialisering.BKan ikke laste inn {0} fordi den ikke er koblet til ObjectContext.1Finner ikke minst én relatert ende i relasjonen.�Objektet kan ikke legges til i EntityCollection eller EntityReference. Et objekt som er koblet til ObjectContext, kan ikke legges til i en EntityCollection eller EntityReference som ikke er koblet til et kildeobjekt. PDet er ikke lov å legge til en relasjon med en enhet som er i Deleted-tilstand.�Objektet kan ikke fjernes fra EntityCollection eller EntityReference. Et objekt som er koblet til ObjectContext, kan ikke fjernes fra en EntityCollection eller EntityReference som ikke er koblet til et kildeobjekt.8from-enden av relasjonen er tvetydig i denne konteksten.�RelatedEnd kan ikke returneres av denne RelationshipManager. En RelatedEnd kan bare returneres av en RelationshipManager for objekter som enten spores av ObjectStateManager eller implementerer IEntityWithRelationships.�Fant en sirkelrelasjonsbane under bruk av begrensninger for referanseintegritet. Referanseintegritet kan ikke brukes i sirkelrelasjoner..EntityCollection er allerede initialisert. {0}�Metoden InitializeRelatedCollection kan bare kalles for å initialisere en ny EntityCollection under deserialisering av et objektdiagram.�EntityCollection kan ikke initialiseres fordi relasjonsbehandlingen for objektet som EntityCollection tilhører, allerede er knyttet til en ObjectContext. {0}�Det oppstod et brudd på begrensning for referanseintegritet: Egenskapsverdiene som definerer referansebegrensningene, er ikke konsekvent mellom hovedobjektet og avhengige objekter i relasjonen.~InitializeRelatedReference kan bare brukes til å initialisere en ny EntityReference under deserialisering av et enhetsobjekt.�Relasjonsbehandlingen som ble levert av objektet som implementerer IEntityWithRelationships, er ikke den forventede relasjonsbehandlingen.�Relasjonen {0} inneholder ikke rollen {1}. Kontroller at EdmRelationshipAttribute som definerer denne relasjonen, har riktige rollenavn. Se dokumentasjonen for Entity Framework hvis du vil ha mer informasjon.2Finner ikke den angitte navigasjonsegenskapen {0}.�Relasjonsbehandlingen ble definert med en eier av typen {0}, som ikke er kompatibel med typen {1} for kilderollen {2} i den angitte relasjonen, {3}.-EntityReference er allerede initialisert. {0}�EntityReference kan ikke initialiseres fordi relasjonsbehandlingen for objektet som enhetsreferansen tilhører, allerede er koblet til ObjectContext. {0}�Kan ikke hente metadatainformasjon for relasjonen {0}. Hvis tilordning av attributter brukes, kontroller at EdmRelationshipAttribute for relasjonen er definert i samlingen. Ved bruk av konvensjonsbasert tilordning kan man ikke fastsette metadatainformasjon for relasjoner mellom frakoblede enheter.�Det oppstod et brudd på begrensning for referanseintegritet: Kan ikke hente alle egenskapsverdiene som definerer begrensninger for referanseintegritet, fra relaterte enheter.�Kan ikke fullføre den forespurte operasjonen fordi objektet som implementerer IEntityWithRelationships, returnerte en nullverdi fra egenskapen RelationshipManager.�Kan ikke fullføre operasjonen fordi objektet som relasjonsbehandlingen tilhører, var koblet til ObjectContext før relasjonsbehandlingen ble startet.�EdmRelationshipNavigationPropertyAttribute i NavigationProperty {0} i EntityType {1} har RelationshipName {2}, som ikke er gyldig. Kontroller at RelationshipName er gyldig.Målenden {0} må være unik.6to-enden av relasjonen er tvetydig i denne konteksten.1Den angitte typen {0} må være en relasjonstype.2Facet {0} må angis for innskrevne {1}-egenskaper.BResultatuttrykket for spørringen kan ikke være ikke-angitt NULL.BHøyre argument i settuttrykket må være av typen CollectionType.�Egenskapen for relasjonen {0} inneholder Role {1}, som har typen {2}. Denne typen er ikke gyldig for en End for relasjon. Endre Role for End til EntityType.:ROW-konstruktøren kan ikke ha ikke-angitte NULL-kolonner.5RowType-elementet må ha minst ett egenskapselement..�Begge Ends i EdmRelationshipAttribute for relasjonen {0} har samme Role-navn, {1}. Endene for en relasjonstype må ha ulike Role-navn.pI relasjon {0} refererer Principal og Dependent Role for referansebegrensningen til samme Role i relasjonstypen.LSkalaen {0} er ikke gyldig. Skala må være mellom {1} og {2} for {3}-typen.UProjiseringsuttrykkstypen må kunne likhetssammenlignes ved bruk sammen med DISTINCT.�I EntityContainer {4} refererer Role {0} i AssociationSet {1} og {2} til samme EntitySet, {3}. Hvis to eller flere AssociationSet refererer til samme AssociationType, må du kontrollere at endene ikke refererer til samme EntitySet.DRelasjonskildetypen {0} må kunne forfremmes til from-endetypen {1}.<Ukjent fil>�For øyeblikket støttes bare spatialtyper når de brukes i CSDL-filer som har UseStrongSpatialTypes-merknaden med en usann verdi på rotskjemaelementet.]Den angitte DbGeography-verdien er ikke kompatibel med denne spatialtjenesteimplementeringen.\Den angitte DbGeometry-verdien er ikke kompatibel med denne spatialtjenesteimplementeringen.\Den angitte leverandørverdien er ikke kompatibel med denne spatialtjenesteimplementeringen.`Angitt DbWellKnownGeographyValue inneholder ikke verken Well-Known Text eller Well-Known Binary._Angitt DbWellKnownGeometryValue inneholder ikke verken Well-Known Text eller Well-Known Binary.dWellKnownValue-egenskapen skal støtte serialisering og deserialisering, og skal ikke angis direkte.�Kjøringen av denne spørringen forutsetter bruk av APPLY-operatoren som ikke støttes i versjoner av SQL Server som er eldre enn SQL Server 2005.ZEDM-funksjonen {0} støttes ikke av SQL Server-versjoner som er eldre enn SQL Server 2008.GDATEPART-argumentet til funksjonen {0}.{1} må være en strenglitteral.I{0} er ikke en gyldig verdi for DATEPART-argumentet i funksjonen {1}.{2}.�Funksjoner som er angitt i leverandørmanifestet som er attribuert som NiladicFunction='true', kan ikke ha parameterdeklarasjoner.�Parametere som argumenter til en TOP-delsetning og en LIMIT-delsetning i en spørring eller et LimitExpression i et kommandotre, støttes ikke i versjoner av SQL Server som er eldre enn SQL Server 2005.�Parametere som argumenter til en SKIP-delsetning i en spørring eller et SkipExpression i et kommandotre, støttes ikke i versjoner av SQL Server som er eldre enn SQL Server 2005.uDet finnes ingen lagertype som tilordnes til EDM-typen {0} i versjoner av SQL Server som kommer før SQL Server 2008.JKonstantuttrykk av typen {0} med verdien NaN, støttes ikke av SQL Server.[Konstantuttrykk av typen {0} med verdien {1}.NegativeInfinity, støttes ikke av SQL Server.[Konstantuttrykk av typen {0} med verdien {1}.PositiveInfinity, støttes ikke av SQL Server.�Denne operasjonen krever en tilkobling til databasen ''master''. Det kan ikke opprettes en tilkobling til databasen ''master'' fordi tilkoblingen til den opprinnelige databasen er åpnet og legitimasjonen er fjernet fra tilkoblingsstrengen. Oppgi en tilkobling som ikke er åpnet.[Kan ikke slette databasen. Det finnes ingen database som tilsvarer angitt AttachDBFilename.�En kobling til den angitte databasen kan ikke åpnes. Se InnerException hvis du vil ha nærmere detaljer. Det er imidlertid registrert en serverdatabase som svarer til angitt AttachDbFilename.mKan ikke fullføre operasjonen. Den oppgitte SqlConnection angir ikke en startkatalog eller AttachDBFilename.XDen angitte DbGeography-verdien kan ikke konverteres til en SQL Server-kompatibel verdi.WDen angitte DbGeometry-verdien kan ikke konverteres til en SQL Server-kompatibel verdi.�Databasen er opprettet, men databaseobjektene er ikke opprettet. Det påfølgende forsøket på å fjerne databasen mislyktes også. Se InnerException for mer informasjon.&Se InnerException for mer informasjon.>Forventet en geografisk verdi, men fant en verdi av typen {0}.>Forventet en geometrisk verdi, men fant en verdi av typen {0}.fSpatiallesere kan bare produseres fra lesere av typen SqlDataReader. En leser av typen {0} ble angitt.JSpatialtyper og -funksjoner støttes bare av SQL Server 2008 eller senere.�Spatialtyper og -funksjoner er ikke tilgjengelige for denne leverandøren fordi samlingen Microsoft.SqlServer.Types versjon 10 eller senere ikke ble funnet. vDen angitte leverandørverdien er ikke kompatibel med denne spatialimplementeringen. Det kreves en verdi av typen {0}.jEn SRID-verdi (Spatial Reference System Identifier) kunne ikke hentes fra den angitte DbGeography-verdien.ZDen angitte DbGeography-verdien angav ikke verken Well-Known Binary eller Well-Known Text.hSRID-verdien (Spatial Reference System Identifier) kunne ikke hentes fra den angitte DbGeometry-verdien.YDen angitte DbGeometry-verdien angav ikke verken Well-Known Binary eller Well-Known Text.;INTERN FEIL: Det var en stakkoverflyt i spørringsparseren.�EntityContainer-navnet {0} for lagring som er angitt i dette tilordnings-XML-skjemaet, samsvarer ikke med EntityContainer-navnet {1} for lagring som er angitt i tidligere tilordnings-XML-skjema(er) for EntityContainer {2} i begrepsmodellen. Kontroller at du angir nøyaktig én tilordning per EntityContainer. Hvis du vil angi delvis tilordning, må du kontrollere at de er tilordnet til samme EntityContainer for lagring.BArgumentet {0} er ikke gyldig. Minst én ssdl-artefakt må angis. yNavneområdet {0} er et systemnavneområde og kan ikke brukes av andre XML-skjemaer. Velg et annet navn på navneområde.ZAlle egenskaper av radtypen som returneres av en lagerdefinert funksjon, må være skalar.�EntitySet {0} har både et Table-  eller Schema-attributt og et DefiningQuery-element. Table- og Schema-attributtene og DefiningQuery-elementet i EntitySet utelukker hverandre. Bruk bare Table- og Schema-attributtene eller DefiningQuery-elementet.�EdmRelationshipNavigationPropertyAttribute for RelationshipType {3} i NavigationProperty {0} i EntityType {1} har TargetRole-navnet {2}, som ikke er gyldig. Kontroller at TargetRole-navnet er et gyldig navn. 6Gjeldende XML-skjemaelement støtter ikke tekst ({0}).PAssociation {0} er ikke gyldig. Association kan bare inneholde to End-elementer.EDelsetningene TOP og LIMIT kan ikke brukes i samme spørringsuttrykk.aDelsetningene TOP og SKIP kan ikke brukes i samme spørringsuttrykk. Bruk LIMIT i stedet for TOP./{0} er mindre enn minimumsverdien som støttes.STypespesifikasjonen har et ugyldig antall argumenter. {0}-typen har {1} parametere.1{0} er større enn maksimumsverdien som støttes.XTypeargumentet er en ugyldig konstantlitteral, eller er utenfor det forventede området.BArgumentet for typespesifikasjonen må være en konstant litteral.NTypen må deklareres gjennom attributt eller delelement, men ikke begge deler.${0} støtter ikke {1}-spesifikasjon.${0} støtter ikke typespesifikasjon.s{0}-medlemmet {1} og {2}-medlemmet {3} er ikke kompatible for denne operasjonen, ettersom de ikke er av samme type.�Typene for alle egenskapene i Dependent Role for en relasjonsbegrensning må være de samme som de tilsvarende egenskapstypene i Principal Role. Egenskapstypen {0} for enheten {1} samsvarer ikke med egenskapstypen {2} for enheten {3} i relasjonsbegrensningen {4}.$Typedeklarasjon mangler for element.HTypeargumentet {0} må angi en EntityType. Den angitte typen er {1} {2}.CUttrykkstypen må være EntityType, ComplexType eller ReferenceTypeKTypeargumentet {0} må angi en nominell type. Den angitte typen er {1} {2}.SAlle typenavn i et XML-skjema må være unike. Typenavnet {0} er allerede definert.�Fant ikke typen {0}. Kontroller at de nødvendige XML-skjemaene er lastet inn, og at navneområdene blir importert på riktig måte.iDen angitte typen {0} er ikke den deklarerte typen {1} eller en utleding av typen for AssociationSet {2}.dDen angitte typen {0} er ikke den deklarerte typen {1} eller en utleding av typen for EntitySet {2}.SKan ikke fastsette programkonteksten. Banen til ASP.NET-programmet kan ikke løses.^Kan ikke fastsette lagringsversjon. En gyldig lagringstilkobling eller et versjonstips kreves.&Finner ikke typen {0} i samlingen {1}.1Kan ikke laste inn den angitte metadataressursen.Kan ikke løse samlingen {0}.VURI-adressen {0} er ikke godkjent. URI-adresser må være absolutte eller angi en fil.{Elementet {1} i navneområdet {0} var uventet for rotelementet. Forventet XML-skjema i ett av følgende navneområder: {2}.gElementet {1} var uventet for rotelementet. Forventet XML-skjema i ett av følgende navneområder: {2}.9Fant et element av den uventede typen {0} i indeksen {1}.(Ikke gjenkjent XML-skjemaattributt: {0}.&Ikke gjenkjent XML-skjemaelement: {0}.Uventet XmlNode-type: {0}.BINTERN FEIL: Ast-uttrykket er ikke en gyldig kommandouttrykkstype..INTERN FEIL: Ast-uttrykket har en ukjent type.AINTERN FEIL: Den angitte, innebygde Ast-uttrykkstypen er ukjent. :INTERN FEIL: Uttrykksløsningen har en ukjent klasse, {0}.dKan ikke fastsette hovedenden av {0}-relasjonen. Flere tillagte enheter kan ha samme primærnøkkel.�En verdi som deles på tvers av enheter eller tilknytninger, er generert på flere steder. Kontroller at tilordningen ikke deler en EntityKey i flere lagergenererte kolonner.@Fant sirkelrelasjoner med begrensninger for referanseintegritet.�Setningen for oppdatering, innsetting eller sletting av lager hadde innvirkning på et uventet antall rader ({0}). Enheter kan være endret eller slettet siden de ble lastet inn. Oppdater ObjectStateManager-oppføringer.�Kan ikke fastsette en gyldig rekkefølge for avhengige operasjoner. Det finnes kanskje avhengigheter på grunn av begrensninger for sekundærnøkkel, modellkrav eller lagergenererte verdier.kOppdaget endringer i konflikt. Dette kan skje ved forsøk på å sette inn flere enheter med samme nøkkel.QFeil under henting av verdier fra ObjectStateEntry. Se indre unntak for detaljer.[Det oppstod en feil under oppdatering av oppføringene. Se det indre unntaket for detaljer.eEn avhengig egenskap i ReferentialConstraint er tilordnet til en lagergenerert kolonne. Kolonne: {0}.ZKan ikke sette inn eller oppdatere en enhet fordi hovedenden av {0}-relasjonen er slettet.�Støtte på ugyldige data. Mangler en påkrevd relasjon. Undersøk StateEntries for å fastsette kilden til bruddet på begrensningen.5Finner ikke oppdateringstilordning for EntitySet {0}.{Hvis du skal oppdatere AssociationSet {0}, må tilhørende enhet fra EntitySet {1} være tilgjengelig i ObjectStateManager.>Finner ikke {0}FunctionMapping for {1} {2} i tilordningsfilen.�En relasjon fra AssociationSet {0} er i tilstanden {1}. Gitt multiplisitetsbegrensninger må en tilsvarende {2} også være i tilstanden {1}.�En funksjonstilordning for EntitySet {0} krever at tilsvarende tilknytninger i AssociationSet {1} lastes inn. Last inn AssociationSet før du lagrer endringer i EntitySet.VEn funksjonstilordning angir resultatkolonnen {0}, som resultatsettet ikke inneholder.ZDet er ikke støtte for å endre en kolonne med mønsteret {0}. Kolonne: {1}. Tabell: {2}.�Det er ikke støtte for å endre tabeller der en primærnøkkelkolonne har egenskapen {0} satt til {1}. Bruk mønsteret {2} i stedet. Nøkkelkolonne: {3}. Tabell: {4}.�Lagergenererte nøkler støttes bare for identitetskolonner. Nøkkelkolonnen {0} har typen {1}, som ikke er en gyldig type for en identitetskolonne.Lagergenererte nøkler støttes bare for identitetskolonner. Flere nøkkelkolonner er merket som servergenerert i tabellen {0}.bEn lagergenerert nullverdi ble returnert for medlemmet {0} av typen {1}, som ikke kan nullstilles.;Nullverdi for medlem som ikke kan nullstilles. Medlem: {0}.oBrudd på begrensning for referanseintegritet. Role av typen Dependent har flere kontohavere med ulike verdier.^Enheter i {0} deltar i relasjonen {1}. Fant {2}-relatert {3}. Forventer {3} mellom {4} og {5}.PEnheter i {0} deltar i relasjonen {1}. Fant {2}-relatert {3}. Forventer {4} {3}.�{0}-relasjoner kan maksimalt være i tilstanden {1} for {2}-relasjonen fra End {3} til en forekomst av End {4}. Fant {5}-forekomster.~En lagergenerert verdi av typen {0} kan ikke konverteres til en verdi av typen {1}, som kreves for medlemmet {2} av typen {3}.�Kan ikke oppdatere EntitySet {0} fordi det har en DefiningQuery, og det finnes ingen <{1}>-elementer i <{2}>-elementet som støtter gjeldende operasjon.^Kan ikke fastsette påvirkede rader. Verdien for parameteren {0} kan ikke konverteres til {1}.�Intern feil. En type som ikke støttes ({0}), ble brukt som et argument for å endre et uttrykk i visningen for oppdatering av tilordning. Argumentet må være en skalar.|Intern feil. En uttrykkstype som ikke støttes ({0}), ble funnet i visningen for oppdatering av tilordning av gjesten ({1}).�Intern feil. EntitySet ({0}) har en type som ikke støttes ({1}). Bare EntitySets og AssociationSets kan behandles i oppdateringen av datasamlebånd.�Intern feil. En sammenkoblingstype som ikke støttes, er i visningen for oppdatering av tilordning ({0}). Bare binære indre eller venstre ytre sammenkoblinger støttes.�Intern feil. Projiseringsuttrykkstype som ikke støttes ({0}). Bare projiseringer av typen DBNewInstanceExpression støttes i visninger for oppdatering av tilordning.lMetadataWorkspace for enhetsklienten er forskjellig fra arbeidsområdet tilstandsbehandlingen refererer til.<Et medlem med samme navn er allerede definert i en BaseType. CollectionType har nulltypebruk.1CollectionType-objekter kan ikke ha en basistype.Elementet har tom identitet.Fasetten har ikke noe navn.PFasettobjektet har null for FacetType. Null er ikke gyldig for denne egenskapen.SElementegenskapen har null for TypeUsage. Null er ikke gyldig for denne egenskapen.Medlemmet har ikke noe navn.OMedlemmet har null for DeclaringType. Null er ikke gyldig for denne egenskapen.QMedlemmet har null for MemberTypeUsage. Null er ikke gyldig for denne egenskapen.%Metadataegenskapen har ikke noe navn.�Typen {0} har ingen nøkkelmedlemmer. RelationshipType eller EntityType må ha nøkkelmedlemmer eller en BaseType med nøkkelmedlemmer.�EntityKeyProperty og IsNullable kan ikke begge være true i EdmScalarPropertyAttribute for egenskapen {0} i typen {1}. Egenskaper som er en del av nøkkelen, kan ikke nullstilles.�Egenskapen {0} i typen {1} har attributtet EdmComplexPropertyAttribute, men returnerer typen {2}, som ikke er en gjenkjent ComplexType.�Tilordningen av CLR-typen til EDM-typen er tvetydig fordi flere CLR-typer samsvarer med EDM-typen {0}. Fant tidligere CLR-typen {1}, fant nå CLR-typen {2}.�Typene i samlingen {0} kan ikke lastes inn fordi samlingen inneholder EdmSchemaAttribute og avslutning av type lastes inn etter navn. Innlasting etter både navn og attributt er ikke tillatt.EGrunntypen {0} til typen {1} samsvarer ikke med modellgrunntypen {2}.D{0}-typen ble ikke lastet fordi basistypen {1} ikke er tilgjengelig.<Finner ingen tilsvarende objektlagtype for begrepstypen {0}.5Den påkrevde egenskapen {0} finnes ikke i typen {1}.�Det finnes flere typer med navnet {0} i EdmItemCollection i forskjellige navneområder. Konvensjonsbasert tilordning krever unike navn uten hensyn til navneområde i EdmItemCollection.uDen underliggende typen for CLR-opplistingstypen samsvarer ikke med den underliggende typen for EDM-opplistingstypen.bEgenskapen {0} til typen {1} har en egenskapstype {2} som ikke kan tilordnes til en primitiv type.DRelasjonen {0} ble ikke lastet fordi typen {1} ikke er tilgjengelig.�Typen {0} som er definert i objektlaget, er ikke kompatibel med typen {1}, som er definert i begrepsmodellen. En opplistingstype kan ikke tilordnes til en ikke-opplistingstype.�Kan ikke bruke egenskapen {0} til typen {1} i samlingen {2} som en skalar egenskap fordi den ikke har både en getter og en setter.�EntityType eller ComplexType {0} kan per konvensjon ikke tilordnes til verditypen {1}. Det tillates ikke at verdityper tilordnes til EntityTypes eller ComplexTypes.�Egenskapen {0} i typen {1} har returtypen {2}, som ikke er en gjenkjent EntityType eller opplisting av forekomster av EntityType.�Egenskapen {0} i typen {1} har attributtet EdmScalarPropertyAttribute, men returnerer typen {2}, som ikke er primitiv type eller en gjenkjent opplistingstype.JRefType har null for EntityType. Null er ikke gyldig for denne egenskapen.(Referansetyper kan ikke ha en basistype.Typen har ikke noe navn. Typen har ikke noe navneområde.QTypebruksobjektet har null for EdmType. Null er ikke gyldig for denne egenskapen.FTypen {0} er ikke en støttet underliggende type for opplistingstyper.%{1}-verdien ({0}) ble ikke forstått.AND �Gitt kardinaliteten til End-medlem av Association {0}, skal den tilordnes til nøkkelkolonner i tabellen {1}. Rett opp tilordningen eller endre multiplisiteten for denne enden.TMå angi tilordning for alle nøkkelegenskaper ({0}) for End {1} i Relationship {2}.){0} spiller Role {1} i AssociationSet {2}.{0} spiller IKKE Role {1} i AssociationSet {2} Tap av data kan forekomme i {0}.LTap av data eller brudd på nøkkelbegrensning kan forekomme i tabellen {0}.NUtilstrekkelig tilordning: Det er mulig å ha {0} i {1} som ikke er tilordnet.9Ingen tilordning er angitt for egenskapene {0} i {1} {2}.-Må angi tilordning for alle typer i {0} {1}., kKan ikke definere det nye medlemmet {0} for samtidighetstoken i den utledede klassen {1} for EntitySet {2}.HSamtidighetstoken(er) [{0}] i EntitySet {1} kan ikke ha noen betingelse.]Hver av følgende kolonner i tabellen {0} er tilordnet til flere egenskaper på begrepssiden:{0} er tilordnet til <{1}>enheterEnhetEMå angi tilordning for alle nøkkelegenskaper ({0}) i EntitySet {1}.{0} er i EntitySet {1}{0} er IKKE i EntitySet {1}FEIL9Problem i tilordningsfragmenter som begynner i linje {0}:9Problem i tilordningsfragmenter som begynner i linje {0}:SettNSekundærnøkkelbegrensning {0} fra tabellen {1} ({2}) til tabellen {3} ({4}):�Feil tilordning av sammensatte nøkkelkolonner. {0} Kolonner ({1}) i tabellen {2} er tilordnet til egenskaper ({3}) i {4} og kolonner ({5}) i tabellen {6} er tilordnet til egenskaper ({7}) i {8}. Rekkefølgen på kolonnene gjennom tilordningene opprettholdes ikke.�{0} er tilordnet til AssociationSet {1}. For at denne tilordningen skal være riktig, må nedre mangfoldighetsgrense for enden {2} være 1.�{0}: Utilstrekkelig tilordning: Sekundærnøkkel må tilordnes til et AssociationSet eller EntitySets som deltar i en sekundærnøkkeltilknytning på begrepssiden.IManglende tabelltilordning: {0} ingen tilordning angitt for tabellen {1}.�Sekundærnøkkelen {0} blir ikke brukt i modellen. En tilknytning eller arverelasjon må opprettes for å bruke denne begrensningen.�{0} Kolonnene i tabellen {1} er tilordnet til End {3} for AssociationSet {2}, men nøkkelkolonnene i tabellen {4} er ikke tilordnet til nøklene i EntitySet {5}, som tilsvarer denne End.�{0} er tilordnet til AssociationSet {1}. For at denne tilordningen skal være riktig, må øvre mangfoldighetsgrense for enden {2} være 1.�Informasjonen om tilordning og metadata for EntityContainer {0} samsvarer ikke lenger med informasjonen som ble brukt til å opprette de forhåndsgenererte visningene.NBetingelser som er angitt i medlemmet {0} i dette fragmentet, er ikke tillatt.tMinst én av nøkkelegenskapene i AssociationSet {0} må tilordnes til alle nøkkelegenskapene ({1}) i tabellen {2}.mAlle nøkkelegenskapene ({0}) i EntitySet {1} må tilordnes til alle nøkkelegenskapene ({2}) i tabellen {3}.�Potensielt brudd under kjøring for nøklene ({2}) for tabellen {0}: Kolonnene ({1}) er tilordnet til egenskapene ({4}) for EntitySet {3} på begrepssiden, men de utgjør ikke nøkkelegenskapene ({5}) for EntitySet.GIngen tilordning er angitt for følgende EntitySet/AssociationSet: {0}.`Ingen tilordning er angitt for forekomster av EntitySet og AssociationSet i EntityContainer {0}.4Ingen tilordning er angitt for følgende typer: {0}.Andre verdier enn [{0}]_Kolonnen {1} i tabellen {0} må tilordnes: Den har ingen standardverdi og kan ikke nullstilles.mKolonnen {0} har ingen standardverdi og kan ikke nullstilles. En kolonneverdi kreves for å lagre enhetsdata.ZKolonne(r) [{0}] blir tilordnet i begge fragmentene til ulike egenskaper på begrepssiden.NOT_NULL:Egenskapen {0} med betingelsen IsNull=false må tilordnes.NULL{0} ={1}{0} kan ikke nullstilles{0} er ikke lik {1}{0} er ikke én av {1}{0} er én av {1}/, (er for eksempel én av følgende typer: {0}){0} må være lik {1}&{0} må ikke være mulig å nullstille{0} må være null{0} må være én av {1}{0} må ikke være lik {1}{0} må ikke være én av {1}GTilordning for alle nøkkelegenskaper ({0}) for tabellen {1} må angis.radernTilordningen er utilstrekkelig eller i konflikt. Kan ikke generere spørringsvisninger for enheter i {0} når:2En Entity med Key ({0}) vil ikke gå i retur når:�Betingelsesmedlemmet {0} med en annen betingelse enn 'IsNull=False' er tilordnet. Fjern betingelsen fra {0}, eller fjern den fra tilordningen.<Betingelsesmedlemmene {0} har dupliserte betingelsesverdier.�Kolonnen {0} brukes i en betingelse som må være Not Null men er tilordnet en egenskap {1} som kan nullstilles. Vurder å gjøre denne egenskapen umulig å nullstille.�En enhet er tilordnet til ulike rader i samme tabell. Kontroller at disse to tilordningsfragmentene ikke tilordner to enhetsgrupper med identiske nøkler til to ulike radgrupper.�En enhet er tilordnet til ulike rader i samme tabell. Kontroller at disse to tilordningsfragmentene ikke tilordner to enhetsgrupper med overlappende nøkler til to ulike radgrupper.�To enheter med identiske nøkler er tilordnet til ulike rader i samme tabell. Kontroller at disse to tilordningsfragmentene ikke tilordner to enhetsgrupper med overlappende nøkler til to ulike radgrupper.�To enheter med mulige identiske nøkler er tilordnet til ulike rader i samme tabell. Kontroller at disse to tilordningsfragmentene ikke tilordner to urelaterte EntitySets til to ulike radgrupper.�To enheter med ulike nøkler er tilordnet til samme rad. Kontroller at disse to tilordningsfragmentene ikke tilordner to enhetsgrupper med ulike nøkler til samme radgruppe.�To enheter med ulike nøkler er tilordnet til samme rad. Kontroller at disse to tilordningsfragmentene ikke tilordner to enhetsgrupper med overlappende nøkler til samme radgruppe.�To enheter med ulike nøkler er tilordnet til samme rad. Kontroller at disse to tilordningsfragmentene ikke tilordner to EntitySets med overlappende nøkler til samme radgruppe.�To enheter med mulige ulike nøkler er tilordnet til samme rad. Kontroller at disse to tilordningsfragmentene ikke tilordner to urelaterte EntitySets til samme radgruppe.�To enheter med nøkler som kanskje er forskjellige, er tilordnet til samme rad. Kontroller at disse to tilordningsfragmentene tilordner begge endene av AssociationSet til de tilsvarende kolonnene.�EntityTypes {0} blir tilordnet til de samme radene i tabellen {1}. Tilordningsbetingelser kan brukes til å skille mellom radene disse typene er tilordnet til.�To enheter med ulike nøkler er tilordnet til samme rad. Kontroller at disse to tilordningsfragmentene ikke tilordner to enhetsgrupper med ulike nøkler til to overlappende radgrupper.�To rader med ulike primærnøkler er tilordnet til samme enhet. Kontroller at disse to tilordningsfragmentene ikke tilordner to enhetsgrupper med identiske nøkler til to overlappende radgrupper.�To rader med ulike primærnøkler er tilordnet til to enheter som har identiske nøkler i en begrensning for referanseintegritet. Kontroller at disse to tilordningsfragmentene ikke tilordner to EntitySets med identiske nøkler til to overlappende radgrupper.�En enhet fra ett EntitySet er tilordnet til en rad som også er tilordnet til en enhet fra et annet EntitySet med mulige ulike nøkler. Kontroller at disse to tilordningsfragmentene ikke tilordner to urelaterte EntitySets til to overlappende radgrupper.YEntitySets {1} og {2} er begge tilordnet til tabellen {0}. Primærnøklene kan kollidere.�Når det finnes et tilordningsfragment mellom EntitySet {0} og tabellen {1}, der attributtet MakeColumnsDistinct er merket som true, kan det ikke være noen flere tilordningsfragmenter mellom {0} og {1}.�Tilordningsfragmenter kan ikke kobles sammen. Kontroller at alle tilordningsfragmenter tilordner en nøkkel som skal brukes til å koble sammen med de andre tilordningsfragmentene.nKolonnen {1}, som ikke kan nullstilles, i tabellen {0} er tilordnet til en enhetsegenskap som kan nullstilles.�Kan ikke validere tilordning for EntitySet {0}. Kontroller at tilordningsbegrensningene er mulige når det finnes begrensninger på lagersiden. En betingelse av typen 'IsNull=True' i tilordningen for en kolonne som ikke kan nullstilles, er et eksempel på en umulig begrensning.�Kontroller at tilordningsfragmenter for EntitySet {0} ikke tilordner enheter med samme primærnøkkel til ulike rader i samme tabell.;Jokertegnfunksjonen for samlingsopplisting returnerte null.Yd5�^Q~� a~9Hj.�s8d�NLcA�?ҏ��	��K�bTݸ��T~��n��˰�9�����pm�;�p�{�5.%�G0 �5D�Tj𔈝Y��0ͼ�+T�,��Y������*@f[�
;�ztBSJBv4.0.30319lx#~��#Stringsh#USp#GUID�#Blob�%3c�
'*Xs�u���Ucm���d�,g D�u��=͔rm��@0�b}�TS�3x\�a�f�A����� 2�5C<Module>System.Data.Entity.resourcesnoSystem.Data.Resources.SqlClient.SqlProviderServices.ProviderManifest.xmlSystem.Data.Resources.SqlClient.SqlProviderServices.StoreSchemaMappingVersion3.mslSystem.Data.Resources.SqlClient.SqlProviderServices.StoreSchemaMapping.mslSystem.Data.Resources.SqlClient.SqlProviderServices.StoreSchemaDefinitionVersion3_Sql8.ssdlSystem.Data.Resources.SqlClient.SqlProviderServices.StoreSchemaDefinition_Sql8.ssdlSystem.Data.Resources.SqlClient.SqlProviderServices.StoreSchemaDefinitionVersion3.ssdlSystem.Data.Resources.SqlClient.SqlProviderServices.StoreSchemaDefinition.ssdlSystem.Data.Resources.DbProviderServices.ConceptualSchemaDefinitionVersion3.csdlSystem.Data.Resources.DbProviderServices.ConceptualSchemaDefinition.csdlSystem.Data.Resources.ProviderServices.ProviderManifest.xsdSystem.Data.Resources.EntityStoreSchemaGenerator.xsdSystem.Data.Resources.SSDLSchema_3.xsdSystem.Data.Resources.SSDLSchema_2.xsdSystem.Data.Resources.SSDLSchema.xsdSystem.Data.Resources.CSDLSchema_3.xsdSystem.Data.Resources.CSDLSchema_2.xsdSystem.Data.Resources.CSDLSchema_1_1.xsdSystem.Data.Resources.CSDLSchema_1.xsdSystem.Data.Resources.CodeGenerationSchema.xsdSystem.Data.Resources.CSMSL_3.xsdSystem.Data.Resources.CSMSL_2.xsdSystem.Data.Resources.CSMSL_1.xsdSystem.Data.Resources.AnnotationSchema.xsdSystem.Data.Entity.no.resourcesSystem.Data.Entity.resources.dll �{��`WdC���ŭ�d��1�1 �1_CorDllMainmscoree.dll�% @�0�	HX@4VS_VERSION_INFO��H#ovDVarFileInfo$Translation�hStringFileInfoD041404b04CommentsFlavor=RetailLCompanyNameMicrosoft CorporationFFileDescription.NET Framework` FileVersion4.8.9032.0 built by: NET481REL1b!InternalNameSystem.Data.Entity.resources.dllp&LegalCopyright� Microsoft Corporation. Med enerett.j!OriginalFilenameSystem.Data.Entity.resources.dllTProductNameMicrosoft� .NET Framework:ProductVersion4.8.9032.04
PrivateBuildDDBLD344B0�1�'0�'�	*�H��
��'v0�'r10
	`�He0\
+�7�N0L0
+�70	���010
	`�He yn�}Y���=��:w
.�U]�f}ີ�@�F��
v0��0�ܠ3Qv�Ņ�nQ0
	*�H��
0~10	UUS10U
Washington10URedmond10U
Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20110
210902183259Z
220901183259Z0t10	UUS10U
Washington10URedmond10U
Microsoft Corporation10UMicrosoft Corporation0�"0
	*�H��
�0�
��"��ݽH`.�_Y`X��;K�&��
��Q����ե$<���4�4�A�(NI51�\�g|�1�`�EG��0��\���`h��k^Ch�Q.]�*���†ET�5#���\�>2��ؿ�c\��{g�_�O�����0��	wG���2�V�q��(�]&:�3�'���PrG˕t7kP��޼%/�x���K�=I0��;5)���W�T�R���6��׷K��]���3��U
�a����s0�o0U%0
+�7L+0U0���zO|�nS�O�}��I0EU>0<�:0810UMicrosoft Corporation10U
230012+4675960U#0�Hnd�Pӂ�77"�m��u�0TUM0K0I�G�E�Chttp://www.microsoft.com/pkiops/crl/MicCodSigPCA2011_2011-07-08.crl0a+U0S0Q+0�Ehttp://www.microsoft.com/pkiops/certs/MicCodSigPCA2011_2011-07-08.crt0U�00
	*�H��
��I����2�Ba���5[�m��Y�|:�Q 9�lt>��;���<-�̒G�����d<�
���!���/1�}��eT���4���v0B5V,�
�e7����ٷ'B�MjٍTt3�y�V�k��j�ץO�E��>���}����^(I}y��;�w�-�%�5'��3�e�&�`�d��K4G���[^����������B��y��BY��z�i�4���zo|���
S���u�&�b�ݴV�~��F�T$����:+��<)���C�5`�)ද^{�6E��\!;��Q�������
��.��+��Ar�ث
{^������yl���n����p5��H&gF�K^�^�r��,����=�{[s�lK�}�oB$�b}x`i�;0X`���JD����ƾ�XK�͌�t4���Z�$if��b]�n__��쪂$��K���l�L-��/�jޙKjL���sy_��+?MV�y(wk�`0���/
5:��+*A��0�z0�b�
a��0
	*�H��
0��10	UUS10U
Washington10URedmond10U
Microsoft Corporation1200U)Microsoft Root Certificate Authority 20110
110708205909Z
260708210909Z0~10	UUS10U
Washington10URedmond10U
Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20110�"0
	*�H��
�0�
���r.��n��M4��X!�B*k�ZP��8I���7k���8™��9�1BӉ
yd�~�`$l��I��h^�ߛS�
,ï٩+�z	�זY�`�fv�2R&/�PϳD�]��.u�h��m�:\��F��8d�nd5x��c-�@����
�\y�I)�
��w��=��+ZMV(�zr�:�I^���C���{�{��>��]�O��/Y�;-�3Xŷ>�2ӳ=����8~ҝ�,�NV�!5%�9ndS���#������_��R������!t%_(��'(8%�9J6�|���#��f�aj�(I�_��%]�!K>RĵW?$��z[/�#�p]QFw��Ἤ�_����UK�9��#I��D|E��rz�r�$߿F����Wۃ��MI0�����[���ݰf��{���K�I)�(��}g��bx_�/��W�\�w((��m�(�,�@7O��D��	L�ԥC/t��n�x X,]`��>O3�ڰ�ޞN�F�l���ֈ����0��0	+�70UHnd�Pӂ�77"�m��u�0	+�7
SubCA0U�0U�0�0U#0�r-:1�C�N���1�#�40ZUS0Q0O�M�K�Ihttp://crl.microsoft.com/pki/crl/products/MicRooCerAut2011_2011_03_22.crl0^+R0P0N+0�Bhttp://www.microsoft.com/pki/certs/MicRooCerAut2011_2011_03_22.crt0��U ��0��0��	+�7.0��0?+3http://www.microsoft.com/pkiops/docs/primarycps.htm0@+042 Legal_policy_statement. 0
	*�H��
�g򆥘�Ty.��tg"���c��B�}�y��e_.,>��r�m���?�
�;�G���i�c�"5��]e��}�FPU��|�K�<B�Rа�k�>.)��=�Եw�9��d�D=xz#�}��t����&F*Š�����h�h.��*?*kXIc	inZ�����F+�;н5�n%��'������(��M=����2���-�[��I9
�
�ƭ�����QEX82q'��'��,: i��Y�hno��t�@�*(>�?Mf��M��o}E�v�@*e��]Rb��c6��������'�ͥ���]cA�[��>w��u�aa������A�(��e/��\��֡F�Y�	KH���)ű��?Ew5�Ң��zz"�H���G#�����k�K���ux��7�yK�ֳ#hu������i;��0�L���umc�=ѝVNO��W"�x2!z�A
�?��̤]����WqVNHE�Bɛv[
�Hk�y���mmj�Rs
zP�1��0�~0��0~10	UUS10U
Washington10URedmond10U
Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20113Qv��nQ0
	`�He���0	*�H��
	1
+�70
+�710
+�70/	*�H��
	1" {W�Eȳ��#խ��P��	�0�k֊�0B
+�71402��Microsoft��http://www.microsoft.com0
	*�H��
�%dg��ӔZ�v쐲l;zX�c�Y�9�g	�� H��A=q��G�zX$��6�����\�2�ux�!^qg���Ĩ�-�c�����c
��M7�U-q����qI;�&�<]��븇
�����7��R{‚)b��������_i�N�#-<ʨ�F�v��͆%w�m�g�.��BI�!-��BIi����ȰËqk��12BW��z�
ڳ�_b!ݾ�٠����M[����2��݅�3�y�hp<��0�
+�71��0��	*�H��
���0��10
	`�He0�U*�H��
	��D�@0�<
+�Y
010
	`�He 4��b�ׅX}K��%�{�h�l��=��� L�b/���20220409001022.553Z0��Ԥ��0��10	UUS10U
Washington10URedmond10U
Microsoft Corporation1)0'U Microsoft Operations Puerto Rico1&0$UThales TSS ESN:4D2F-E3DD-BEEF1%0#UMicrosoft Time-Stamp Service��_0�0���3���2�;��0
	*�H��
0|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20100
220302185142Z
230511185142Z0��10	UUS10U
Washington10URedmond10U
Microsoft Corporation1)0'U Microsoft Operations Puerto Rico1&0$UThales TSS ESN:4D2F-E3DD-BEEF1%0#UMicrosoft Time-Stamp Service0�"0
	*�H��
�0�
���m;�҂�9D.բ	rIs
.��e�A`�T	I��T�v�\�_z?�
����g 44B'��������W>X;6�W�ރ����;^F��)b��s��'�
��o�'ŴC!w��<'��;�'�Fi��b�A��	��Z/dǔ=\��)ߠ1O��z���-���1{�d#iU�3�<�Y������D�������t��z��^0�[�e�X�8�]���Jo	kK�9o��k��M��&@7�d��Jpv��U�=�Н�gM7tˉp29�6l|�S_�f9�_ZEE,{�ۢ:��~u�>��}#f�m�1ZI���ƃ��u:e����w)��v�Ų�Ig�[�es�2��$�3{ *��Eȶb�x�OQ��T^��ZnW6�*�U��f;M��uR�qϧ�
�V�W:��o$�1������"�o�tg�Ӌ��
���?A��}��m��Yi�%[.�^G��N���-2�,�"m?~�Y+��z��'ڷg�c�%���s���60�20U:�$7&nˠdz� G�6?0U#0���]^b]����e�S5�r0_UX0V0T�R�P�Nhttp://www.microsoft.com/pkiops/crl/Microsoft%20Time-Stamp%20PCA%202010(1).crl0l+`0^0\+0�Phttp://www.microsoft.com/pkiops/certs/Microsoft%20Time-Stamp%20PCA%202010(1).crt0U�00U%0
+0
	*�H��
��s⇛
�G�ȹ�^��e*B�D�ᾞ	�p�Ebgcv�sp��#S�������ɔ�–-y=�{��A��sp^Z6�;RX��n)���f'����&�mNE���]�_�6�ť�P�Q	l�_��*;s���p�u�dS,�Xl���O�LQ�9�`��d�<I_xe�q2��u�d�z�O+��P���ۦ2��.\o��AA��]�5��l[��X�g#\!R���ѱ}�"7���l�Kq�T��ng�XC`i�$،����V.�"@6�Ǡ��Q��F����U�9�Ɗ�`W�����z�u�7���
.����)�
��`�8TQ7����޳A���E���Aώ�{�N�ngG�*������R�pR��o���,��wq u�uc�`����6,���G����{dǒ4�d�s��E]LG�-��l�ɓFX�ف��j��y�"l��-d|g�aС�c΁g��_*ߝ�Ϫ�I.e�fY &o�4���1g���l)���ߎ;0�q0�Y�3��k��I�0
	*�H��
0��10	UUS10U
Washington10URedmond10U
Microsoft Corporation1200U)Microsoft Root Certificate Authority 20100
210930182225Z
300930183225Z0|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20100�"0
	*�H��
�0�
���L�r!y���$y�Ղ��ҩlNu��5W�lJ�⽹>`3�\O�f��SqZ�~JZ��6g�F#���w2��`}jR�D���Fk��v��P�D�q\Q17�
8n����&S|9azĪ�ri����6�5&dژ;�{3��[~��R���b%�j�]�S���VM�ݼ��㑏�9,Q��pi
�6-p�1�5(�㴇$��ɏ~�T��U�mh;�F��z)7���E�Fn�2��0\O,�b�͹⍈䖬J��q�[g`���=� �s}A�Fu��_4���� }~�ٞE߶r/�}_��۪~6�6L�+n�Q���s�M7t�4���G��|?Lۯ^����s=CN�39L��Bh.�QF�ѽjZas�g�^�(v�3rק ��
�co�6d�[���!]_0t���عP��a�65�G������k�\RQ]�%��Pzl�r�Rą��<�7�?x�E���^ڏ�riƮ{��>j�.����0��0	+�70#	+�7*�R�dĚ���<F5)��/�0U��]^b]����e�S5�r0\U U0S0Q+�7L�}0A0?+3http://www.microsoft.com/pkiops/Docs/Repository.htm0U%0
+0	+�7
SubCA0U�0U�0�0U#0��Vˏ�\bh�=��[�Κ�0VUO0M0K�I�G�Ehttp://crl.microsoft.com/pki/crl/products/MicRooCerAut_2010-06-23.crl0Z+N0L0J+0�>http://www.microsoft.com/pki/certs/MicRooCerAut_2010-06-23.crt0
	*�H��
��U}�*��,g1$[�rK��o�\�>NGdx���=13�9��q6?�dl|�u9m�1��lѡ�"��fg:SMݘ��x�6.���V����i�	�{�jo�)�n�?Hu��m��m#T�xSu$W�ݟ�=��h�e��V����(U'�$�@���]='�@�8���)�ü�T�B�������j�BRu�6��as.,k{n?,	x鑲�[�I�t�쑀�=�J>f;O���2ٖ����t��Lro�u0�4�z�P�
X�@<�Tm�ctH,�NG-�q�d�$�smʎ	��WITd�s�[D�Z�k
��(�g($�8K�n�!TkjEG����^O���Lv�WT	�iD~|�als�
��Af=i��AI~~���;����>�1Q������{��p���(��6ںL���
�4�$5g+�
�挙��"��'B=%��tt[jў>�~�13}���{�8pDѐ�ȫ:�:b�pcSM��m��qj�U3X��pf��0�;0����Ԥ��0��10	UUS10U
Washington10URedmond10U
Microsoft Corporation1)0'U Microsoft Operations Puerto Rico1&0$UThales TSS ESN:4D2F-E3DD-BEEF1%0#UMicrosoft Time-Stamp Service�#
0+�/����MV�V^K�E<���0���~0|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20100
	*�H��
�J�0"20220409035759Z20220410035759Z0w0=
+�Y
1/0-0
�J�0

��0b0
�06
+�Y
1(0&0
+�Y
�
0� �
0��0
	*�H��
��;:������":���2�
��KE�QY!H*�����ٷ�p�}�dޫ�q��zj^fV����"Z0�^)<�9�/��!	�8!Tu�!�d>w����If��Xl�d��Q�
dH���{i%ޒYd��1�
0�	0��0|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20103���2�;��0
	`�He��J0	*�H��
	1
*�H��
	0/	*�H��
	1" �3�<]h�ϖ��@�HФ����%g�2EZ*0��*�H��
	/1��0��0��0�� �Cw˟���F�*g
��Y7z�P2���0��0���~0|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20103���2�;��0" {Fsn	�ǔ���H�>'�.F=�Y��z7�>0
	*�H��
�tЇ#'<�|�w��0�T���4�EO�ͮ3>N~W��Ռ��+��R���q�.@e�7F���dj~�{��58��ZFh*�O옍'�����DZ-�m`�ec���K�iƣ<�N>��89�B~�DJ]#��B�_
}��K��������AN�|�>��"�ۢt�X>��\�	w�ؔ��\�.t=_�Z^�<եV���^�!�B�t$���a�0P^�g�4���i��6�b
z7�lOe��fK�>�7�@?�/qP��I���Ф(����ɂ�I���Ω��&d�ԙ�ڧ$����r�F�!'�4�@�"D~׬�jJi_?iuF2�]������g��$�ݽ6�^�hOL�#���t��H��C��Sv"��s �.~�b��፺D�]�� s��z/���ʧ7�P��.b#Ku:��+��G�U����c�砒dM̓\Öfȥ���W��!P�Ҫ��05@»�ߨuiB��d�
6�@5w�����*

Anon7 - 2021