Edit C:\Windows\Microsoft.NET\Framework64\v4.0.30319\fr\System.Data.Entity.resources.dll
MZ? ÿÿ ¸ @ ? º ´ Í!¸LÍ!This program cannot be run in DOS mode. $ PE L ???\ à ! ? N À @ ¥ @? ü? O À x ? ? à H .text T? ? `.rsrc x À ? @ @.reloc à ? @ B 0 H h? ? P ?w å? ? 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> þA ÎÊï¾ ? 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À?¬õ??¬#ǧ¬to48?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?Ǹ¨Ç?ø²ÇfÆÇ?ËÇ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 Ï ÚöÝ ~&