403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /software/smsc smpp installer/software/Services/AddressbookUpload/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /software/smsc smpp installer/software/Services/AddressbookUpload/MySql.Data.Entity.dll
MZ����@���	�!�L�!This program cannot be run in DOS mode.

$PEL�mT�!2�Q ` ���@�lQO`��4P  H.text�1 2 `.rsrc�`4@@.reloc�8@B�QH�gx�	p�K�P �9͓��Rc5�Ư�>����MyS_LFL�q7Y�Zܰ�~�]�̅��c���n$��l��pޚ��Aj�_����h!:7���i�f�h�el����k��w�EQ�OC^s
�9̈u����'
�2{o
*6{o
*2{o
*6{o
*2{o
*6{o
*{*"}*{*0H}{t�o
{t�
o
o
,{o
o 
o
*2{o!
*J{t�o"
*2{o#
*2{o$
*6{o%
*2{o&
*s'
*N{o(
s*2{o)
*2{o*
*2{o+
*06s
{}{}{o,
t}*2(-
(*0Bs.

(-
(/
-	(0
-o+
o1
�o2
�o3
o4
*+
�f}s5
}(6
*�(8
}}{{}*2{o9
*2{o:
*2{o;
*2{o<
*2{o=
*:o>
o?
*"o?
*J(@
{oA
*6o?
��*6{oB
*N{oC
*6{oD
*N{oE
*�{,{�oF
*{oG
*6{oH
*6{oI
*6{oJ
*2{oK
*�{,{�oL
*{oM
*6{oN
*6{oO
*6{oP
*6{oQ
*6{oR
*6{oS
*6{o>
*2{oT
*6{oU
*0N{o?

{,7u�-/oV
{�oL
(W
,{�oL
(8
*0�u,I�(X
(Y
,tsZ
�*Ф(X
(Y
,t
�1���*u,#Ч(X
(Y
,�s[
��*(\
(]
*0
+o?
�X
�i2��i*6{o^
*2{o_
*2{o`
*r(@
,{oa
(b
*r~oc
/rp(d
**0se

o?of
*0Xr
p
og
+-oh
toi
&rpoi
&o?rp
oj
-��u�
	,	ok
�*
9F'"`^��%Џ(m
�*(n
*(C*:(C(H*{*"}*{*"}*{
*"}
*�(J(L-*{	,{	o{
,{
o**0i(I,rpoi
&oN(I,rpoi
&(G-*u-(I, u-r#p(G(>oo
&*0	{	oP
-
{
oP
*:(E(L*�{,r3p{oo
&+r?p{(>oo
&(O*sp
z0K{	o?rGp{oo
&{
o?{,rSpoi
&{o?*6{oB*(E*V(n
}}*********�,o|{(q
,{o}*�{1rp{(d
rp{(d
or
}1*B{�}**sp
z(C*0�{,{r]p(s
,rapoi
&{,rpoi
&{o?{,rpoi
&{, {r]p(q
,rmpoi
&+rGp{oo
&{,rpoi
&{o?{,rpoi
&{,{r]p(s
,rpoi
&*�{oB{oBo^*(o*J(ost
}*0�
{o?{,rwpoi
&r�poi
&{ou
+(v

ow
r�poi
&(x
-���ok
�oy
Yoz
r�poi
&*8'_0<{oB
+{o{
oBX
{o|
2�o]*0�r�poi
&
+Lr�poi
&{o}
o?r�poi
&{ o}
o?r�poi
&X
{o~
2�{!,$r�poi
&{!o?r�poi
&r�poi
&*0d{!oB
+{ o}
oBX
{ o~
2�+{o}
oBX{o~
2�oY*vs
}s
} (C*V(C(}(*{"*"}"*{#*"}#*{$*"}$*{%*"}%*n(~(�
-(~*(�*{&*"}&*0�(z,(zo?+8(|,r�p(|(>oo
&r?p(~(>oo
&(�,+(�(~(s
,r#p(�(>oo
&*0,	(|(~sy
(�o�(zo{*�(�-s�(�(�o�*0t	u-*u
o�,(�,o�(�o�
*o|(|(s
,*o~(~(s
,*o�(�(s
,**"o_*:(o}'*0@{-r
p+r�poi
&r�poi
&{'o?rpoi
&*R{'oBoZ*0W{+-{*+{*(>
r	p{(-r
p+rpo�
&{)o?rpoi
&*6{)oB*(C*�{,o?r-p{-r
p+rGpoo
&*R{,oBoX*(o*0Y{-o?{,rwpoi
&rOpoi
&{.o?{/,r]poi
&{/o?*R{-oBo[*(o*J{0s�o�
*6{0o�
*07
{0o�
+(�

o?(�
-���ok
�*(0)
+{0o}
oBX
{0o~
2�*Js
}0(C*:(C}1*:{1oi
&*"o`*J(Cs�
(�*{2*"}2*sp
z�(�o�
,(�(�o�
Yo�
**0+(�o�

(�X(�o�
YYo�
*:(�o�
*0mu-*u
(�o�
Yo�o�
Y
+2(�%Yo�
o�%Yo�
(�
,*	X%
.2/�*0Cs�
(�o�
+(�
o�o�
(�
-���	ok
�*!3sp
zV(C(�(�*{3*"}3*{4*"}4*04	(�u
o?rop(�-ryp+r�poo
&*6(�oB*0X(o�
&{	o?)o�
&{5-r�p+r�poi
&(o�
&{
o?)o�
&*�{	u,o�,*{
u,o�*sp
z(E*�~�
}6}7s}8s�
};(�
s�
(�*n{;o�
-*{;o�
*{<*"}<*sp
z0!r�p%{7%
X}7��(d
*0s�
o�o�
o�
*0�%{9X}9o�
o+u
o�o�
o�
o�
%{9Y}9{91*o�syo�{8o,oGo}u,*u,
u	,
	o�&+
,	o�&*0�o�

sQo�
r�po�

	, o�
,o�
u�s�}+}o�
o�
}o�
}o�
r�po�

	,o�
,o�
u�}o�
r�po�

	,o�
,o�
u�}*Zr	po�
(�
s�*0o�
o+
u
ol*0o�
o+s�
ol*0s�
o�*0�o�
o�
to�

o�
(�,s�*3o�
��-r
p+rps�*s'
(�o�
o�
(�o�
o�
o�
(�o�
(�o�
o�
s�*zo�
o�
o�
(�o�*bo�
o�
rpo�*bo�
o�
rpo�*6o�
o+*0Ms�
o�
o+}-o�
o+}.o�
o�
&.o�
o+}/*0sx
+>{o�
o�
o+o�
{ o�
o�
o+o�
Xo�
o�
2�o�
,o�
u8-o�
o+}!*0s�
o�
o+},*s�
z.r#ps�*0�o�
636s�
r-po�o�
o�
o+o�rpo�*~�
o�

. YE,."+(r3p+&r7p+r;p+r?p+rCp+s�
zo�
o�
o�
o�
o�*0~o�
o�
u�
+Zo�
o�
o+
	u,		u+sy	o{o�
o�
o�
o�o�o�
Xo�
o�
2�*s�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zsp
zs�
zsp
zsp
zsp
zsp
zsp
zsp
zsp
zsp
zsp
zsp
zsp
zsp
zsp
z0,u,
u,(�-*{�u,(�
*0�{�uoG
oG{�}�{�uoH{�-{�}�+8{�,0sr{�}{�}rp}}�{�(�{�-{�}�{�(�o�-zo�,ro�o�
+(�

	o�(�
-���ok
�o�o�
+(�
(�(�
-���ok
�o�-|o�,to�o�
	+	(�
o�	(�
-��	�ok
�o�o�

+
(�
(�
(�
-��
�ok
�{�-{�}�*4�� 'Rp� �0�
,
o�o�
,*{�u,
,
{�u-*{�,{�-ho�,o�-Xo�,o�-H{�,{�-8{�{�3*o�+o�
oz,*Xo�
2�**0-*sa
oB*0o o+
uoH(�&u,,u}u,,{�u,{�u},
{8o*0?!s�
u:(�o�
o�
o+t}�s�}�*0"u.
9�u/9�s�o�
o�
rGp(q
9�t/o�
(�
o�
o�
o+}-@Sr]p(q
9Co�
o�
u/,Eo�
o�
t/r_po�
of
rmprqpor
(d
s�}.*o�
o�
@$o�
o�
u.%
9o�
o�
u.%9�	o�
o�
rwp(q
9�o�
o�
rwp(q
9�	o�
o�
u/9�	o�
o�
t/r�po�
of
rmprqpor
(d
s�}.o�
o�
o+}-*:Dr�p(q
94o�
o�
u/9o�
o�
t/r�po�
of
rmprqpor
(d
s�}.*o�
o�
r�p(q
9�o�
o�
u.9�o�
o�
r�p(q
9�o�
o�
u/,vo�
o�
u/	t/

o�
	o�
3Jo�
o�
o+}-r�p
o�
of
rmprqpor
(d
s�}.**0X#(�
,*sr}o+}(�}o+}(�}o�*0�${rp(q
9�{u
{u-G{u-*-"{u
	-*	(�,M*(�,<*-%{u-*(�,*(�,**�{{o�
,){{3{-{{o�
**0�%{{@�{-{{r]p(q
,i{r]p(q
,W(�,I,F(�	,8,5o�
,,ss}{o�
{	o�
**0W&{-M{r]p(q
,;(�,-,*{o�
,{o�
-{o�
**�{uQ{uQP-{uQ{uQ*0'o�

.
+..3**0X(u�
s�o�
o�
o+o�{8r�po�uoo�
o+o�of
*(�*{=*"}=*0�)u�
o�
(�o�
r�po�
o�
t�(�
,do�
r�po�
o�
t�
	(�
,o�

o�
rpo�
o�
t�(�
,oF
rp(d
*(�*(�*0�s�
�>s�
�?s�
�@s�
�As�
�B~>rIpr_po�
~>rcprypo�
~>r}pr�po�
~>r�pr�po�
~?r�pr�po�
~?r�pr�po�
~?r�prpo�
~?rpr#po�
~?r5pr?po�
~?rSprapo�
~?rypr�po�
~@r�pr�po�
~@r�pr�po�
~@rprpo�
~@r)pr7po�
~@rOpr[po�
~@rqpr�po�
~@r�pr�po�
~@r�pr�po�
~@rprpo�
~@r'pr;po�
~@rgprwpo�
~@r�pr�po�
~@r�pr�po�
~Ar�pr�po�
~Ar�pr�po�
~Arpr!po�
~Ar7prCpo�
~BrOprqpo�
~Br�pr�po�
~Br�pr�po�
~Br	pr)po�
~BrMprspo�
~Br�pr�po�
~Br�pr�po�
~Br�pr�po�
~Br�pr!	po�
~BrE	pre	po�
~Br�	pr�	po�
~Br�	pr�	po�
~Br�	pr
po�
~BrC
prk
po�
~Br�
pr�
po�
*0�}C~>o�
oF
o�
,(�*~?o�
oF
o�
,
~?(�*~@o�
oF
o�
,
~@(�*~Ao�
oF
o�
,
~A(�*~Bo�
oF
o�
,
~B(�*(�*0�*s�
o�
rp(+}*{*(�
,o�
oF
}*o�
rBp(+�}+o�
rdp(+,o�
o�
1r�ps�
zs�r
p
o�
o�
+7o�
	o�
1	s�o�{Co+o�rp
oj
-��,ok
�})*�D�0�+se

o�
o�
1'r3po�
%Xo�
{Co+oo
&r�p~>o�
oF
o�
o�
o�
{Co+o�
&of
s�*0�,o�
o�
�
+o�
o�
{Co+�Xo�
o�
2�o�
oF
%
,	r7p(q
,
(�+o�
oF
o�
(�
s�*0�se

~Ao�
oF
o�
oi
&rpoi
&o�
o�
{Co+ow
&rpoi
&o�
o�
1 o�
o�
{Co+ow
&+r
poi
&rpoi
&of
*(n
*0A-u�
s�o�
o�
o+to�{8r�po�oo�
o�
+$o�
t�
o�	o�
o+o�
oj
-��,ok
�{:-s�
}:o�
o�
	+[	o�
t�o�
o+o�o�
o�
&."o�
t)o�
{:o�
	oj
-��	,	ok
�o�
,o�
o}lof
*N1�h0].(�
s�o�
o�
t*o�

r�po�o�
o�
o�
8�(�
{:o�
:�	,s�
z
o�
o�
o�
to�
.5.0	.*
.$.3'o�
o�
o�
(,r ps�+Ho�
o�
o�
oF
rBp(q
,&rLpo�
r�po�
o�
(d
s�r�p(d
o�o�(�
:�����ok
�}�*ADF0/s�

r�po�
o�
*(�*:{Do�
*0~0-*,
{Do�
&u,,u,{�(*u, u
{	({
(*u,u{	({
(*J-*oG(*v{Do�
-*{Do�
*0c1
o�o�
2Qo�o�
Y+=o�o�
,)(
	,	oK,	*	u,,	u,{�*Y/�*Js�
}D(n
*n{Ho�
,{Ho�
**082u
o�
o�
o�

	-3o+(of
*0}3

u,9Z{�u,9HoGo�o�
?/o�o�
9o�o�
o�%{�u,9�o�o�
?�o�o�
9�o�o�
o�(�
:�o�o�
oz9�o�o�
ozu,9�o�o�
@so�o�
oz9]{�u,
	9K	{�9<o�o�
ozu	o�o�
@	o�o�
99�s�
oH		{�u

-	o�o�
o|	+	
{	}�o�	syo�
o�	r�psyr�po�s�		o�o�
o�sy})	{�}({*}*o{o�
oMoHo�o�
o�u,}�*0o�
(
}�*0Jo�
o�
o�
o�
o�
o�
(
o�
(
o�
o+}�*0�4o�

o�
o�
o�
({8o
oo�
(o�
o�
t�
	o
o�
t�o
o�
+\o�
o+o�Xu,.o�r�p��(d
o�o�o�
oj
-��,ok
�	8�o
	o


uS-s�
zo�
%Xo�
o�
sy


o
o�
o+(o{
o�o�
o�
	X		o
o
?k���*si�0�5o
o�
r�p(s
,s�
zs�
o
oF
}*o
oF
r�p(q
,
r�p}*+o
oF
o
}*o	
}(})*�o

o
o

o
o�
(*0�6o

o�
o�
o�
(�o

o�
o�
o�
(�
s�u-{8oM	{8oM}�{8oM	u,9n	u,o�o

8
(
s�{�}�{�}�,#{�u,{�oGoG(�{�}�o�o�
{8oM{8{�oG{�o	oGo~sy		o{		o~o�		oGo�	{8o�	o�(�
,	o~oH		o~o�{8o
(
:����
� ok
�{8{�o{8	o*A�,�~o
o
o�
o
(*0�7sV
(�}o�
o�
o�
(�}	{	(}	o�
o�
o�
(�}
{
(}
{
u,, {
u,oI,o�
oH,o+}*0.o�,*s�
{8oMoL}�*0Zu,-u,{8oMoL+3u,+,(s�
}�oGoH{8oM**0d8s�
syo�
o�
,o�
o�
o+to{+r#ps�o{r
po�o�o�
*0Jo
o�
o
o�
o
o�
(
o�
(
o
u:(�*0B9(�
u,,u,*s�u,u{8oM}�*0o�
(
{8oM*0~:o
o�
o
o�
o
o�
(
o�
(
o
o
+$o
o
o+o
s�o�oj
-��
,ok
�*B0r
01o
(
o�
(
o
o+}�*0�:o
o�
o
o�
o
o�
(
4(
o
o
+$o
o
o+o
s�o�oj
-��
,ok
�o�
(
o 
o+}�*>0n
04;s�
o�
(o�
(}	}
*Js!
}H(�*0&<u�
s�}Io�
o�
o+o�{8r�po�uo{:-s�
}:o"
o�
+lo�
t�o�o�
o+o�
o�

	o+o�o�
	o�
&.!o�
t)o�
{:o�
oj
-��,ok
�o#
o+o�}Io$
,o$
o�}�of
*fy�0:!(�
s�r
po�t�o#
o+o�}�*0=sr
}o+}(�}{u,{Jt)o�
o%
o+}{u,{Jo&
&(�}*(n
*ro�
{�u{1(q
*0v>s�}�{I,W{:{Jo'
|�o�
,9{�u,,(�-
��s(
o)

,o�
s�*(�*Js*
}J(�*s+
*(n
*�r8
po,
,r8
pr
por
**0G
,/rB
pr
por
rF
pr
por
r	pr
por

r8
pr
por

*ZoV
�_(X
(Y
*ZoV
�d(X
(Y
*ZoV
�`(X
(Y
*ZoV
�d(X
(Y
*�oV
�d(X
(W
,oV
�`(X
(W
**0�?~M-�;s-
�M~M(+(+>�~N-�<s-
�N~N(+(+>�s0

~O-�=s-
�O~O(+o1
~P-�>s-
�P~P(+o1
~Q-�?s-
�Q~Q(+o1
**V(n
}4
}5
*{4
*{5
*0Use

rJ
poi
&{4
�(ow
&r\
poi
&{5
�)ow
&rl
poi
&of
*0;@u'
,/(6
{4
{4
o7
,(8
{5
{5
o9
**0: �
 )UU�Z(6
{4
o:
X
 )UU�Z(8
{5
o;
X
*V(n
}<
}=
*{<
*{=
*0Use

rJ
poi
&{<
�(ow
&rr
poi
&{=
�)ow
&rl
poi
&of
*0;Au,
,/(6
{<
{<
o7
,(8
{=
{=
o9
**0: 

�r
 )UU�Z(6
{<
o:
X
 )UU�Z(8
{=
o;
X
*(n
*2{�(+*"s?
*vo@
oA
oB
oC
oD
*Jo@
oB
sE
*2{�(+*"sF
*voG
oA
oH
oI
oD
*JoG
oH
sJ
*08Bs�
}�{�(+��sK
~R-�@sL
�R~R(	+~S-�AsN
�S~S(
+~T-�BsO
�T~T(+(+}K{�(+��sR
~U-�CsS
�U~U(
+~V-�DsT
�V~V(+~W-�EsU
�W~W(+(+}L{�(((V
*0"CoW
(&oX
sY

(Z
*0@o[
(&o\
oC
(&o]
o^
('o_
(`
*0Ooa
r�
po[
(&r�
p(b
oc
od
oe
of
-rp+r�
poc
*nog
(&oh
(i
*0jD
oj
,,ok
(&ol
om
oj
t`sn

+ok
(&ol
om
so

,	(p
*(q
&*noI
(&or
(s
*0ooa
r�
poc
ot
oe
ou
-r
p+r�
poc
ov
,r
p+rpow
(&(d
oc
rpoc
*(n
*f{�(x
{�oy
*B(z
{��*f{�({
{�o|
*B(}
{��*0�E
s�}�}�}�{�oA
(&s~

{�o
o�
+o�
o
o�
oj
-��,ok
�{�o�
o�
{�(�
{�o�
u�9�o�
of
rpo�
of
o�
of
rpo�
Yo�
&{�%o�
Xo�
{K-��s�
(+(+	-��s�

	o�
{L-��s�
(+(+-��s�
o�
{�rpo�
{�%o�
Yo�
{�oa
*V!w0"Fo�
(&o�
s�

(�
*0@o[
(&o\
oC
(&o]
o^
('o_
(�
*noI
(&or
(�
*nog
(&oh
(�
*0Go�
(&s�

(�
*0"Ho�
(&o�
s�

(�
*0(Io�
(&o�
o�
s�

(�
*0"Jo�
(&o�
s�

(�
*(�
*{]*"}]*{^*"}^*{_*"}_*{`*"}`*6u]oP*6uYoT*6u_o]*6u`oR*6uZoW*6uXoY*6uaoQ*6uboV*6ucoX*6udo^*6ueoZ*6ufo`*6ugoS*6uho_*6unoa*6ulo[*6umo\*0�K

	

s�
}Xs�
}Z(�
{Zr p-
�cs}
o�
{ZrFp-
�ds}o�
{Zrtp-
�es}o�
{Zr�p	-
�fs}
	o�
{Zr�p-�gs}o�
{Zr�p-�hs}o�
{Zr p-�is}o�
{ZrHp-�js}o�
{Zrxp-�ks}o�
{Zr�p	-�ls}		o�
{Zr�p
-�ms}

o�
{Zr�p-�ns}o�
{Zrp-�os}o�
{ZrFp
-�ps}

o�
{Zrpp-�qs}o�
s�
(Ks�
(M{Zr�p-�rs}o�
{Zr�p-�ss}o�
*
*
*
*0wLs�

s�
}[(�
o�
}Y(+~a-�ts�
�a~a(+(+00(+~b-�us�
�b~b(+(+13(+~c-�vs�
�c~c(+(+}\o�
+Uo�
{ZoV
o�
o�
-oV
o�
s�
z{ZoV
o�
o�

	o~o�
oj
-��,ok
�{Xo�
19{Xo�
+(�
o�
(�
-���Iok
�*�b"Ig(n
*^{�oX
o�
(q
*�o�
��s�
(+(+�*0�Ms�}�{�-*{�oW
(Is�

{\��s�
(+(+�{�oX
o�
_r�p�
	{�oW
(b�	{�oX
o�
�	{�oX
oU�	-r
p+r<p�	(�
o�
*05N-*s�

se
&rNpo�
(bo�
(�
o�
*(n
*^{�ol
o�
(q
*�o�
��s�
(+(+�*0�Os�}�{�-*{�ol

se
{�ok
(I{\��s�
(+(+�{�ol
o�
_��r�p�{�ok
(b�r�p�o�
�r�p�(�
oi
&oU-r
p+r<p(�
oi
&s�

	of
o�
	*0�P-*se

��r�p�o�
(b�rCp�o�
�rop�(�
oi
&o�
&��
	rwp�	o�
(b�	r�p�	o�
�	r�p�	o�
�	r�p�	(�
oi
&o�
&rpoi
&o�
&rSpoi
&o�
&ropoi
&s�
of
o�
*Fr�pr�p(b
*Fr�pr�p(b
*0wQse

o^
o�
@1-r�p(�

�of
r7pr
por
(�
��r�p�oC
(b�r�p�(b�r�p�(�
oi
&rpr�pod
~d-�ws�
�d~d( +(�
r�p(b
oi
&��r�p�o[
(b�r
p�r�po�
~e-�xs�
�e~e( +(�
�r�p�(�
oi
&of
,rpoi
&s�
of
o�
*0R{Yo�
o�

se
~{o�oi
&rpo�
:�o�
Ъ(X
(Y
-$o�
��(X
(Y
,=o�
o�
,0o�

(�
, rcpo�
(�
��oo
&o�
(�
,Jo�
(�
,9rqpo�
(�
��o�
(�
��o�
&8r�p(q
-r�p(q
-r�p(q
9�o�
		(�
,Go�


(�
25rcpo�
(�
1+o�
(�
��oo
&o�
,yr�p(�
,r�p(�
-]r�po�


(�
,o�
(�
/r
p+'r�po�
(�
(�
r�p(b
oo
&o�
o�
(�
-+(�
-Qr�p(Lo�
o�
-o�
,	o�
3o�
.r
p+rp+r5p(d
oi
&o�
,a��rIp�rYp�rkp�rp�r�p�o�
(!+,r�poi
&(Jo�
o�
o�
(�
-r�po�
(d
oi
&of
*02Sse

r�poC
o^
o�

s�
of
o�
*(n
*^r�pr�p{�(�
*0Ts�se

r#poi

ou
,r3poi
&o�
rCpo�
&,of
rMp(q
-ryp+r�p}�rapow
oI
(bo�
&r�pot
��s�
( +(�
r�p(�
oi
&o�
r�po�
&,of
r�p(�
0r�p+r�p
r�p	(�
oi
&s�
of
o�
*0*Ns�

r�poI
(bow
(�
o�
*(n
*6(Lo�
*vr�po�
r�poU(�
*Fr�pr�p(b
*�%{�{�(Lo�
,r
p+rp(d
(�
}�*0PU
s�}�se

oA
(b(Lo�
(Jo�
(F-s�
(G(Fo�
-(Fo�
r-prKp(b
oi
&oA
(Io�
,)o�
o�
("+
-�ys�


o�
r�po
�zs�
(#+(�
oi
&s�

o
o�
+Oo�
o�
3<o�
,3o�
rSp(�
-(Lo�
o�
,
o�
oj
-��,ok
�o�
9se
rsp(H(b(d
o�
&r�p(H(b(d
o�
&r7po�
&+)o�
r]po�
(d
o�
&Xo�
2�r�p(H(b(d
o�
&r�p(H(b(d
o�
&rtp(H(b	o�
(�
o�
&r�po�
&of
s�
{Xoao�
o�
,Yr�poi
&r�pr�po�
o�
~f-�{s�
�f~f( +(�
r�p(b
oi
&r�p}�(J�s�
o�
{�{�r�po�
o�
oi
&r�poi
&s�
		of
o�
	*�\U0)Ns�

r.po�
(br�p(b
o�
*0*Ns�

rHpo�
(bo�
(�
o�
*0�V-*se

se
o�
(�
r7pr
por
oi
&r�po�
(br�p(b
oi
&rpo�
rTpof
(�
o�
o�
&s�
of
o�
*Fr�pr�p(b
*0�Sse

r�pog
(brZp(b
oi
&r�po�
r�p(b
oi
&o�
o�
1Hr�pr�po�
~g-�|s�
�g~g( +(�
r�p(b
oi
&s�
of
o�
*0�Wse
o�
r�po�
&,of
(�
&,[o�
o�
3M
s�

	o�
o�
o�
og
	so
oRo�
r�p(�
oi
&s�
of
r�pog
r�p(�
o�
*07S-*se

r�po�
o�
o�
&s�
of
o�
*
*0 Ns�

o
o�
o
o
*�r8
po,
-
r8
po
,r8
pr
por
**(n
*03X~h(
, r2p�%(X
o
s

�h~h*~i*�i*V(�r�p~io	
*V(�r�p~io	
*V(�r�p~io	
*V(�rp~io	
*{j*"}j*{k*"}k*�rJpoi
&(�o?(�,rdpoi
&(�o?*sp
z(C*v(Cs
(�s
(�*{m*"}m*{n*"}n*{o*"}o*0�{l,{lo�o�
1rtpoi
&r�poi
&(�o?(�o~
1%rpoi
&(�(Arpoi
&r�poi
&rpoi
&(�(Arpoi
&{l,r�poi
&{lo?*sp
z0�Y
YE
O;	O"+Mof
*��r�p(\
(
*��r�p(\
(
*�
(\
(

**0IZo�
t
o�
YE
+**0�Zo�
t
o�
E"%
+&********	*
******r�po�
�s(d
s�
z0Q[o�
t
o�
.*��(
(
 �/ �s
�*�*0\
E+****0�]%
9��~�-Us
%r]p(
%r"p(
%r�p(
%r&p(
%r,p(
%r2p(
����~�(
,"E+**0�'
03.{
YE	ZZTZ*6ZH+XYE+
%. +<r]p*r"p*r�p*r&p*r,p*r2p*r8p*rXp*rnp*r�p*r�ps
z0Bu�,t�o
*u�,t�o
*u�,t�o�
*s�
z0)^o�
o�
,o�
�W*�W*(n
*N(�(
}z*.r�p(�*�~
(q
,(�*~
(q
,(�*r: p(d
s
z.r� p(�*0�_{z(\
(

#@4r� ps
z#ffffff@4r4!p(�*#@4rh!p(�*#ffffff@4r�!p(�*#������@4r�!p(�*r"p(�*0�`-r8"ps
zo�
oF
o

(
o
-rL"p(d
s 
z(
o!
o�
-("
*o�
3Bo#
r�"po$
,$o%
-o&
,o&
��('
*((
*()
*0�a-r�"ps
zo�
u
-(�(d
s 
zo#
o�
EP����1G]s'�8.(*
r�"po!
()
*(*
r�"po!
()
*(*
rIpo!
()
*(*
rYpo!
()
*(*
rpo!
()
*(*
r�po!
()
*(*
r�"po!
()
*(*
r#po!
()
*(*
r#po!
()
*

o#
r"#po$
,o%
-o&
,
o&
��o#
r6#po$
,o%
-o&
,
o&
��
(*
rB#po!
	(+
*rR#po,
o&
,rR#po,
o&
��+r�"po,
o%
-o&
,o&
�� ����+, ���+o&
��~�
	 �/	rj#p	++ ���/	r|#p	+ ���?/	r�#p	+r�#p	(*
	o!
(-
*~�

r�#po,
o&
,r�#po,
o&
��+rR#po,
o&
,rR#po,
o&
��+r�"po,
9�-r�#p+r�#p
o&
,Ao&
of

(.
,,
 �0#(*

o!
o&
��('
*o&
,4o&
of
r�#p(q
,(*

o!
 �('
*(*

o!
((
*-r�#p+r�#p
o&
,mo&
of

(.
,X
 ��1
 ���0	r�#p
+o&
�� ���1r$p
(*

o!
o&
��('
*(*
r$po!
 ���('
*(*
r�po!
()
*(*
r�po!
()
*(*
r�po!
()
*(�o�
�s(�
s
z0b(/

o0
(1
*0cr&$p(d
(�
s2
(3
*0*d(/

o0
s4
o5

o6
o7
	*0�es�
(�
-s8
o�+frh$pr
por
s+
o9
o:
of
(;
(<
��rl$p(=
��(>
s8
o��
,ok
�o�(?
,rp$ps8
o�o�*2Fx
(n
*{~*"}~*.s��{*0�f-rx$ps
z
u,s
+>u�,s
+.u�,s#
+u�,s�
+u�,s�
o�so
u,uo�o
(�
u�,u�o�

o@
oA
8�oB
oC
(D
o�
oE
(F
(�o�
	,K	oG
(D
oH
,4oI
o�
oJ
(�oE
oK
(�o�
oL
oM
&oj
:^����,ok
�o�oN
	+	(O
oL
oM
&	(P
-��	�^ok
�oQ
*��`y$��u,u(�*u�,
u�(�*0�go�
uJ
,ro
o�
o�
u�,WoR
oS
�}
+/oR
	oT
o�
o�
u{	�	X
	oR
oS
2�*0�hoU
9�oU
o�
t�
o
o�
oV
$3Ut�oR
oS
�}
+*	oT
o�
o�
t{	�	X
	oS
2�*oV
3�}{t�*0iu�o
oW
sX

oY
oW
s+
o9
o:
(;
(<
��rl$p(=
��(>
s8
(�o:
o�
(\
(

	#@4r�$ps
z	#ffffff@4	r%p�R	#@4	r%p�=	#ffffff@4	rp$p�(	#������@4	r%p�r%p�
,ok
�*)��
s�*0�j-r&%ps
zu�
-(�r&%psZ
zo[
o\
s�

o]
sX
o^
oY
	oW
o_
	o9
r<%p(�
	s`
oa
&�
	,	ok
�*?T�
0�k-r&%ps
zu�
-(�r&%psZ
zsb
o]
oc
o^
oY
oW
s+

	o9
	r�%p���od
,oe
of
3��
	,	ok
�*T?�
0�l-r&%ps
zu�
-(�r&%psZ
zsb
o]
oc
o^
oY
oW
s+

	o9
r�%p(d
	sg
(�
,(�
o
o)
&�
	,	ok
�*T:�
0mse

r�%po�
&r�%p(h
�(i
o�
&(�(?
,,+rp$ps8
(�o$+ok
8�ol
om
(%+on
+oo
(�oi
&oj
-��,ok
�om
(&+op
+oq

	or
(�oi
&oj
-��,ok
�oj
:e����,ok
�of
*(}#��(�^�0�nse

se
os
9uot
ou
ov
o�
ow
t�ot
ou
ox
o�
ow
t�
oF
o�
@1/r�p(�
�of
r7pr
por
(�
r&p{|oF
o�
(�
o�
&r`&poi
&r
pot
ou
ov
oy
+e(z
o�
o�
o{
-)r�&p{|oF
o�
o�
(�
o�
&r�&po�
o�
&rp(|
-���hok
�rpo�
&r
pr�&p{|	oF
o�
(d
oi
&ot
ou
ox
oy

+e
(z
	o�
o�
	o{
-)r�&p{|	oF
o�
o�
(�
o�
&r�&po�
o�
&rp
(|
-��
�hok
�rpo�
&o}
o~
o

r�&p
,
��of
+r4'pr4'p(�
o�
&o�
&of
oi
&of
*�r^�r+0oo�

s�
}}{|oF
o�
,{|oF
o�
+a{|oF
o�
r�po�
o�
t�,o�
r�po�
o�
t�+oF
o�
{|oF
o�
rH'ps�
rd'poo
&r
p
o
oy
+m(z
rr'p�	�(�
�o�
�o�
(��o�
o�
o�
(��o�
&rp
(|
-���hok
�r�'po�
&o�
&o�
oS
1vr�'p(d
oi
&r
p
o�
o�
	+#	(�
r�&p	o�
o�
&rp
	(�
-��	�ok
�r�'po�
&o�
&{}o�
>r�'po�
&r(prZ(p(�
(�
o�
&rt(po�
&{}o�

8�
(�
o�
o�
,`r�(p(d
o�
&r)p(d
o�
&r�)p(d
o�
&r�)p(�
o�
&r!*p(d
o�
&+rU*p(d
o�
&
(�
:i����
�	ok
�r�*po�
&r�*po�
&o�
&of
*(�zA�0�9��0Io�
oF

r�*po�
,o�
o
r�*p(�

+r�"p(�
-rSp**0�pse

o�
o#

o�
o�
o�
oF
r�*p(q
,Jo�
o�
oF
r�*po�
:	r�"po$
9r�*po&
oo
&8�o�
o�
o�
oF
r�*p(q
,c	r6#po$
9�	r"#po$
9�o&
,o&
��+-rqpo&
��o�
&+eo�
o�
o�
oF
r�*p(q
,D(�s�
(�
,0	r"#po$
, o&
(�
2r
+po&
oo
&	r+po$
,o&
��-r1+poi
&	rE+po$
9�o&
�o�
9�o�
o�
o�
oF
rq+po,
,ry+poi
&8�o�
o�
o�
oF
rBp(q
,{}o�
o�
8�(�s�
(�
,ao�
o�
o�
oF
r�*p(q
,@r�p,o&
(�
/r
p+r�po&
of
r�p(b
oo
&+r�+ps�
zof
*
*Js�
}|(�
*j(Fs�
(�}�*{�*"}�*{�*"}�*{�*"}�*�(�-s
(�(�o�
*�(�-s�
(�(�o�
*0<(I,rpoi
&r�+poi
&{�,r�+poi
&(�(A{�,r,poi
&{�o?{�,r,poi
&{�o?(�,r+,poi
&(�(A(�{�-{�,NrE,poi
&{�,rU,p{�oo
&{�-r_,poi
&+r?p{�oo
&(I,,rpoi
&(G,r#p(G(>oo
&*�(�-*r�,poi
&(�(A*�(M(�o�
-(�(G,o(Go*00q{-s�
}{�(�
{�u,6{�u{o-{�u{{�oo
8�(
o�o
	oGo}{o~o�
o�
,&o~(�o�{o�o�
+{o~o�
o�
(�o�
(
:r����� ok
�,{�u{{�o*m�0�ro�o
oGo}{o~o�
o�
,&o~(�o�{o�o�
+=o�(�
-{o�o�
o�
+{o~o�
o�
(�o�
*0�ss�

u,
u(�*u-u,ku,{�{;o�
{	(�
u,{
,{
(�o�
u9{�{;o�
&8�u,9�u,o�o
8�(

	o|	o�(�
-	o�+	o�sy{�o�31	o�o�	o~o�	o|,9	o|o�+*	o�o�	o|,	o�-
	o|o�oG,
oGo�o�
(
:>����� ok
�*sp
zoG(�
-QoG{�oG(s
,9o
+(
oGo�(
-��� ok
�*��~�#�0|ts�

{o�
(�o�

+H	o�
oGo�
syo�
o�oG-{+oGo�o�
	oj
-��
	,	ok
�*Tp
09u
o�
}�r�&p��(�
{o�
-*X
+�0gv{�-*(�o
+2(

o�
,!o�(�
,�+o�o�(
-��� ok
�**?U0�'
0.-;�8�.C-./3YE7A8�{�-(�o�
�**(�o�
�*{��*{��*(�o�
-(�-
(��**(�o�
-(�-(�-
{��**s�
zsp
zv(Cs
(�s
(�*{�*"}�*{�*"}�*{�*"}�*{�*"}�*0�]r�,poi
&(�o?r�,poi
&r
p
+Boi
&(�o}
o?r]poi
&(�o}
o?rp
X(�o~
2�(�,rdpoi
&(�o?{�,r�poi
&{�o?*sp
z�����lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADP�c��X�T4f�Q;�O~�JConnectionMustBeOfTypeMySqlConnection*NoStoreTypeForEdmTypeV TypeNotSupported�.WrongFunctionResultType�TThe connection parameter must reference an object of type MySql.Data.MySqlConnectionSThere is no store type corresponding to the EDM type '{0}' of primitive type '{1}'.8The underlying provider does not support the type '{0}'.TResult type of a function is expected to be a collection of RowType or PrimitiveType�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="Catalog" />
      <cs:ScalarProperty Name="SchemaName" ColumnName="Schema" />
      <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>Yv<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="MySqlClient" 
        Provider="MySql.Data.MySqlClient"
        ProviderManifestToken="5"
        Alias="Self" 
        xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
		  SELECT /* Tables */
		  CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
		  TABLE_CATALOG AS `Catalog`,
		  TABLE_SCHEMA  AS `Schema`,
		  TABLE_NAME    AS `Name`
		  FROM INFORMATION_SCHEMA.TABLES
		  WHERE TABLE_TYPE = 'BASE TABLE'
      AND TABLE_SCHEMA=schema()
	  </DefiningQuery>
    </EntitySet>
    
    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SELECT /* Table columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
          IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
            IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
              CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        NUMERIC_PRECISION AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsIdentity`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT /* Views */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
        TABLE_CATALOG AS`CatalogName`,
        TABLE_SCHEMA AS `SchemaName`,
        TABLE_NAME AS `Name`,
        VIEW_DEFINITION AS `ViewDefinition`,
        CASE IS_UPDATABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsUpdatable`
        FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SELECT /* View columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
          IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
            IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
              CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        NUMERIC_PRECISION AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsIdentity`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT /* Functions */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`,
        SUBSTRING_INDEX(DTD_IDENTIFIER, '(', 1) AS `ReturnTypeName`,
        NULL AS `ReturnMaxLength`,
        NULL AS `ReturnPrecision`,
        0 AS `ReturnDateTimePrecision`,
        NULL AS `ReturnScale`,
        NULL AS `ReturnCollationCatalog`,
        NULL AS `ReturnCollationSchema`,
        NULL AS `ReturnCollationName`,
        NULL AS `ReturnCharacterSetCatalog`,
        NULL AS `ReturnCharacterSetSchema`,
        NULL AS `ReturnCharacterSetName`,
        NULL AS `ReturnIsMultiSet`,
        NULL AS `IsAggregate`,
        NULL AS `IsBuiltIn`,
        NULL AS `IsNiladic`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='FUNCTION'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT /* Procedures */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='PROCEDURE'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>
    
<!-- 6.0 -->
    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT /* Function parameters */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `Ordinal`,
        NULL AS `TypeName`,
        NULL AS `MaxLength`,
        NULL AS `Precision`,
        NULL AS `DateTimePrecision`,
        NULL AS `Scale`,
        NULL AS `CollatioCatalog`,
        NULL AS `CollationSchema`,
        NULL AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        NULL AS `CharacterSetName`,
        NULL AS `IsMultiSet`,
        NULL AS `Mode`,
        NULL AS `Default`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT /* Procedure parameters */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `Ordinal`,
        NULL AS `TypeName`,
        NULL AS `MaxLength`,
        NULL AS `Precision`,
        NULL AS `DateTimePrecision`,
        NULL AS `Scale`,
        NULL AS `CollatioCatalog`,
        NULL AS `CollationSchema`,
        NULL AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        NULL AS `CharacterSetName`,
        NULL AS `IsMultiSet`,
        NULL AS `Mode`,
        NULL AS `Default`
      </DefiningQuery>
    </EntitySet>
<!-- End 6.0 -->
    
    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT  /* Constraints */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        CONSTRAINT_NAME AS `Name`,
        CONSTRAINT_TYPE AS `ConstraintType`,
        0 AS `IsDeferrable`,
        0 AS `IsInitiallyDeferred`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE != 'CHECK' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT  /* Check constraints */
        NULL AS `Id`,
        NULL AS `Expression`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* Constraint columns */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `ConstraintId`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `ColumnId`
        FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        'NO ACTION' AS `UpdateRule`,
        'NO ACTION' AS `DeleteRule`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE='FOREIGN KEY'
      </DefiningQuery>
    </EntitySet>
       
    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT  /* Foreign keys */
        CONCAT(KCU.TABLE_SCHEMA, '.', KCU.CONSTRAINT_NAME, '.', KCU.ORDINAL_POSITION) AS `Id`,
        CONCAT(KCU.REFERENCED_TABLE_SCHEMA, '.', KCU.REFERENCED_TABLE_NAME, '.', KCU.REFERENCED_COLUMN_NAME) AS `ToColumnId`,
        CONCAT(KCU.TABLE_SCHEMA, '.', KCU.TABLE_NAME, '.', KCU.COLUMN_NAME) AS `FromColumnId`,
        CONCAT(KCU.TABLE_SCHEMA, '.', KCU.TABLE_NAME, '.', KCU.CONSTRAINT_NAME) AS `ConstraintId`,
        KCU.ORDINAL_POSITION AS `Ordinal`
        FROM
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU
        WHERE TC.CONSTRAINT_TYPE = 'FOREIGN KEY'
        AND TC.TABLE_SCHEMA = KCU.TABLE_SCHEMA
        AND TC.TABLE_NAME = KCU.TABLE_NAME
        AND TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME
        AND TC.TABLE_SCHEMA = schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT /* View constraints */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `ConstraintType`,
        NULL AS `Expression`,
        NULL AS `UpdateRule`,
        NULL AS `DeleteRule`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* View constraint columns */
        NULL AS `ConstraintId`,
        NULL AS `ColumnId`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT /* View foreign keys */
        NULL AS `Id`,
        NULL AS `ToColumnId`,
        NULL AS `FromColumnId`,
        NULL AS `ConstraintId`,
        0 AS `Ordinal`
      </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="varchar" MaxLength="256"/>
    <Property Name="Catalog" Type="varchar" MaxLength="256" />
    <Property Name="Schema" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <Association Name="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>3�<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="MySqlClient" 
        Provider="MySql.Data.MySqlClient"
        ProviderManifestToken="5"
        Alias="Self" 
        xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
		  SELECT /* Tables */
		  CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
		  TABLE_CATALOG AS `Catalog`,
		  TABLE_SCHEMA  AS `Schema`,
		  TABLE_NAME    AS `Name`
		  FROM INFORMATION_SCHEMA.TABLES
		  WHERE TABLE_TYPE = 'BASE TABLE'
      AND TABLE_SCHEMA=schema()
	  </DefiningQuery>
    </EntitySet>
    
    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SELECT /* Table columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
          IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
            IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
              CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        NUMERIC_PRECISION AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsIdentity`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT /* Views */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
        TABLE_CATALOG AS`CatalogName`,
        TABLE_SCHEMA AS `SchemaName`,
        TABLE_NAME AS `Name`,
        VIEW_DEFINITION AS `ViewDefinition`,
        CASE IS_UPDATABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsUpdatable`
        FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SELECT /* View columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
          IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
            IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
              CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        NUMERIC_PRECISION AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsIdentity`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT /* Functions */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`,
        SUBSTRING_INDEX(DTD_IDENTIFIER, '(', 1) AS `ReturnTypeName`,
        NULL AS `ReturnMaxLength`,
        NULL AS `ReturnPrecision`,
        0 AS `ReturnDateTimePrecision`,
        NULL AS `ReturnScale`,
        NULL AS `ReturnCollationCatalog`,
        NULL AS `ReturnCollationSchema`,
        NULL AS `ReturnCollationName`,
        NULL AS `ReturnCharacterSetCatalog`,
        NULL AS `ReturnCharacterSetSchema`,
        NULL AS `ReturnCharacterSetName`,
        NULL AS `ReturnIsMultiSet`,
        NULL AS `IsAggregate`,
        NULL AS `IsBuiltIn`,
        NULL AS `IsNiladic`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='FUNCTION'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT /* Procedures */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='PROCEDURE'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME, '.', f.PARAMETER_NAME) AS `Id`,
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME) AS `ParentId`,
        f.PARAMETER_NAME AS `Name`,
        f.ORDINAL_POSITION `Ordinal`,
        f.DATA_TYPE AS `TypeName`,
        f.CHARACTER_MAXIMUM_LENGTH AS `MaxLength`,
        f.NUMERIC_PRECISION AS`Precision`,
        NULL AS `DateTimePrecision`,
        f.NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        f.COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        f.CHARACTER_SET_NAME AS `CharacterSetName`,
        CAST(0 as decimal(0,0)) AS `IsMultiSet`,
        f.PARAMETER_MODE AS `Mode`,
        NULL AS `Default`
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.ROUTINE_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'FUNCTION'
        WHERE
        r.ROUTINE_SCHEMA=schema() AND f.ORDINAL_POSITION > 0
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME, '.', f.PARAMETER_NAME) AS `Id`,
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME) AS `ParentId`,
        f.PARAMETER_NAME AS `Name`,
        f.ORDINAL_POSITION `Ordinal`,
        f.DATA_TYPE AS `TypeName`,
        f.CHARACTER_MAXIMUM_LENGTH AS `MaxLength`,
        f.NUMERIC_PRECISION AS`Precision`,
        NULL AS `DateTimePrecision`,
        f.NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        f.COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        f.CHARACTER_SET_NAME AS `CharacterSetName`,
        CAST(0 as decimal(0,0)) AS `IsMultiSet`,
        f.PARAMETER_MODE AS `Mode`,
        NULL AS `Default`
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.ROUTINE_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'PROCEDURE'
        WHERE
        r.ROUTINE_SCHEMA=schema() AND f.ORDINAL_POSITION > 0
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT  /* Constraints */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        CONSTRAINT_NAME AS `Name`,
        CONSTRAINT_TYPE AS `ConstraintType`,
        0 AS `IsDeferrable`,
        0 AS `IsInitiallyDeferred`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE != 'CHECK' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT  /* Check constraints */
        NULL AS `Id`,
        NULL AS `Expression`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* Constraint columns */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `ConstraintId`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `ColumnId`
        FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

<!--
    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT /* Foreign key constraints */
        CONCAT('`', TABLE_SCHEMA, '`.`', CONSTRAINT_NAME, '`') AS `Id`,
        'NO ACTION' AS `UpdateRule`,
        'NO ACTION' AS `DeleteRule`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>
-->

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        UPDATE_RULE AS `UpdateRule`,
        DELETE_RULE AS `DeleteRule`
        FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.CONSTRAINT_NAME, '.', FC.ORDINAL_POSITION) AS `Id`,
        CONCAT(PC.TABLE_SCHEMA, '.', PC.TABLE_NAME, '.', PC.COLUMN_NAME) AS `ToColumnId`,
        CONCAT(FC.TABLE_SCHEMA, '.', FC.TABLE_NAME, '.', FC.COLUMN_NAME) AS `FromColumnId`,
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.TABLE_NAME, '.', FC.CONSTRAINT_NAME) AS `ConstraintId`,
        FC.ORDINAL_POSITION 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
        AND      RC.REFERENCED_TABLE_NAME     = PC.TABLE_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      RC.TABLE_NAME         = FC.TABLE_NAME
        AND      PC.ORDINAL_POSITION   = FC.ORDINAL_POSITION
<!--        WHERE FC.CONSTRAINT_SCHEMA='test3'-->
      </DefiningQuery>
    </EntitySet>    
    
    <!--<EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT  /* Foreign keys */
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.TABLE_NAME, '`.`',
               KEYCOLS.CONSTRAINT_NAME, '`.`', KEYCOLS.COLUMN_NAME, '`') AS `Id`,
        CONCAT('`', KEYCOLS.REFERENCED_TABLE_SCHEMA, '`.`', 
               KEYCOLS.REFERENCED_TABLE_NAME, '`.`', 
               KEYCOLS.REFERENCED_COLUMN_NAME, '`') AS `ToColumnId`,
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.TABLE_NAME, '`.`', KEYCOLS.COLUMN_NAME, '`') AS `FromColumnId`,
        KEYCOLS.COLUMN_NAME AS `Name`,
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.CONSTRAINT_NAME, '`') AS `ConstraintId`,
        KEYCOLS.ORDINAL_POSITION AS `Ordinal`
        FROM
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE KEYCOLS
        WHERE TC.CONSTRAINT_TYPE = 'FOREIGN KEY'
        AND TC.TABLE_SCHEMA = KEYCOLS.TABLE_SCHEMA
        AND TC.TABLE_NAME = KEYCOLS.TABLE_NAME
        AND TC.CONSTRAINT_NAME = KEYCOLS.CONSTRAINT_NAME
        AND TC.TABLE_SCHEMA = schema()
      </DefiningQuery>
    </EntitySet>-->

    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT /* View constraints */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `ConstraintType`,
        NULL AS `Expression`,
        NULL AS `UpdateRule`,
        NULL AS `DeleteRule`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* View constraint columns */
        NULL AS `ConstraintId`,
        NULL AS `ColumnId`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT /* View foreign keys */
        NULL AS `Id`,
        NULL AS `ToColumnId`,
        NULL AS `FromColumnId`,
        NULL AS `ConstraintId`,
        0 AS `Ordinal`
      </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="varchar" MaxLength="256"/>
    <Property Name="Catalog" Type="varchar" MaxLength="256" />
    <Property Name="Schema" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <Association Name="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>�y<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="MySqlClient" 
        Provider="MySql.Data.MySqlClient"
        ProviderManifestToken="5"
        Alias="Self" 
        xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
		  SELECT /* Tables */
		  CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
		  TABLE_CATALOG AS `Catalog`,
		  TABLE_SCHEMA  AS `Schema`,
		  TABLE_NAME    AS `Name`
		  FROM INFORMATION_SCHEMA.TABLES
		  WHERE TABLE_TYPE = 'BASE TABLE'
      AND TABLE_SCHEMA=schema()
	  </DefiningQuery>
    </EntitySet>
    
    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SELECT /* Table columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
          IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
            IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
              CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        NUMERIC_PRECISION AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsIdentity`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsStoreGenerated`,
        IF (COLUMN_TYPE = 'tinyint(1)', -128, COLUMN_DEFAULT) AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT /* Views */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
        TABLE_CATALOG AS`CatalogName`,
        TABLE_SCHEMA AS `SchemaName`,
        TABLE_NAME AS `Name`,
        VIEW_DEFINITION AS `ViewDefinition`,
        CASE IS_UPDATABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsUpdatable`
        FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SELECT /* View columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
          IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
            IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
              CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        NUMERIC_PRECISION AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsIdentity`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT /* Functions */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`,
        SUBSTRING_INDEX(DTD_IDENTIFIER, '(', 1) AS `ReturnTypeName`,
        NULL AS `ReturnMaxLength`,
        NULL AS `ReturnPrecision`,
        0 AS `ReturnDateTimePrecision`,
        NULL AS `ReturnScale`,
        NULL AS `ReturnCollationCatalog`,
        NULL AS `ReturnCollationSchema`,
        NULL AS `ReturnCollationName`,
        NULL AS `ReturnCharacterSetCatalog`,
        NULL AS `ReturnCharacterSetSchema`,
        NULL AS `ReturnCharacterSetName`,
        NULL AS `ReturnIsMultiSet`,
        NULL AS `IsAggregate`,
        NULL AS `IsBuiltIn`,
        NULL AS `IsNiladic`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='FUNCTION'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT /* Procedures */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='PROCEDURE'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>
    
<!-- 6.0 -->
    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT /* Function parameters */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `Ordinal`,
        NULL AS `TypeName`,
        NULL AS `MaxLength`,
        NULL AS `Precision`,
        NULL AS `DateTimePrecision`,
        NULL AS `Scale`,
        NULL AS `CollatioCatalog`,
        NULL AS `CollationSchema`,
        NULL AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        NULL AS `CharacterSetName`,
        NULL AS `IsMultiSet`,
        NULL AS `Mode`,
        NULL AS `Default`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT /* Procedure parameters */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `Ordinal`,
        NULL AS `TypeName`,
        NULL AS `MaxLength`,
        NULL AS `Precision`,
        NULL AS `DateTimePrecision`,
        NULL AS `Scale`,
        NULL AS `CollatioCatalog`,
        NULL AS `CollationSchema`,
        NULL AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        NULL AS `CharacterSetName`,
        NULL AS `IsMultiSet`,
        NULL AS `Mode`,
        NULL AS `Default`
      </DefiningQuery>
    </EntitySet>
<!-- End 6.0 -->
    
    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT  /* Constraints */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        CONSTRAINT_NAME AS `Name`,
        CONSTRAINT_TYPE AS `ConstraintType`,
        0 AS `IsDeferrable`,
        0 AS `IsInitiallyDeferred`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE != 'CHECK' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT  /* Check constraints */
        NULL AS `Id`,
        NULL AS `Expression`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* Constraint columns */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `ConstraintId`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `ColumnId`
        FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

<!--
    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT /* Foreign key constraints */
        CONCAT('`', TABLE_SCHEMA, '`.`', CONSTRAINT_NAME, '`') AS `Id`,
        'NO ACTION' AS `UpdateRule`,
        'NO ACTION' AS `DeleteRule`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>
-->

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        UPDATE_RULE AS `UpdateRule`,
        DELETE_RULE AS `DeleteRule`
        FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.CONSTRAINT_NAME, '.', FC.ORDINAL_POSITION) AS `Id`,
        CONCAT(PC.TABLE_SCHEMA, '.', PC.TABLE_NAME, '.', PC.COLUMN_NAME) AS `ToColumnId`,
        CONCAT(FC.TABLE_SCHEMA, '.', FC.TABLE_NAME, '.', FC.COLUMN_NAME) AS `FromColumnId`,
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.TABLE_NAME, '.', FC.CONSTRAINT_NAME) AS `ConstraintId`,
        FC.ORDINAL_POSITION 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
        AND      RC.REFERENCED_TABLE_NAME     = PC.TABLE_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      RC.TABLE_NAME         = FC.TABLE_NAME
        AND      PC.ORDINAL_POSITION   = FC.ORDINAL_POSITION
<!--        WHERE FC.CONSTRAINT_SCHEMA='test3'-->
      </DefiningQuery>
    </EntitySet>    

    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT /* View constraints */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `ConstraintType`,
        NULL AS `Expression`,
        NULL AS `UpdateRule`,
        NULL AS `DeleteRule`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* View constraint columns */
        NULL AS `ConstraintId`,
        NULL AS `ColumnId`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT /* View foreign keys */
        NULL AS `Id`,
        NULL AS `ToColumnId`,
        NULL AS `FromColumnId`,
        NULL AS `ConstraintId`,
        0 AS `Ordinal`
      </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="varchar" MaxLength="256"/>
    <Property Name="Catalog" Type="varchar" MaxLength="256" />
    <Property Name="Schema" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <Association Name="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="MySqlClient" 
        Provider="MySql.Data.MySqlClient"
        ProviderManifestToken="5"
        Alias="Self" 
        xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
		  SELECT /* Tables */
		  CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
		  TABLE_CATALOG AS `Catalog`,
		  TABLE_SCHEMA  AS `Schema`,
		  TABLE_NAME    AS `Name`
		  FROM INFORMATION_SCHEMA.TABLES
		  WHERE TABLE_TYPE = 'BASE TABLE'
      AND TABLE_SCHEMA=schema()
	  </DefiningQuery>
    </EntitySet>
    
    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SELECT /* Table columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
        IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
        IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
        CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        CASE WHEN NUMERIC_PRECISION > 0 THEN CAST(NUMERIC_PRECISION AS CHAR)
        WHEN DATETIME_PRECISION > 0 THEN CAST(DATETIME_PRECISION AS CHAR)
        ELSE 0
        END AS `Precision`,
        DATETIME_PRECISION AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsIdentity`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT /* Views */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
        TABLE_CATALOG AS`CatalogName`,
        TABLE_SCHEMA AS `SchemaName`,
        TABLE_NAME AS `Name`,
        VIEW_DEFINITION AS `ViewDefinition`,
        CASE IS_UPDATABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsUpdatable`
        FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SELECT /* View columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
        IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
        IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
        CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        CASE WHEN NUMERIC_PRECISION > 0 THEN CAST(NUMERIC_PRECISION AS UNSIGNED INTEGER)
        WHEN DATETIME_PRECISION > 0 THEN CAST(DATETIME_PRECISION AS UNSIGNED INTEGER)
        ELSE 0
        END AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsIdentity`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT /* Functions */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`,
        SUBSTRING_INDEX(DTD_IDENTIFIER, '(', 1) AS `ReturnTypeName`,
        NULL AS `ReturnMaxLength`,
        NULL AS `ReturnPrecision`,
        0 AS `ReturnDateTimePrecision`,
        NULL AS `ReturnScale`,
        NULL AS `ReturnCollationCatalog`,
        NULL AS `ReturnCollationSchema`,
        NULL AS `ReturnCollationName`,
        NULL AS `ReturnCharacterSetCatalog`,
        NULL AS `ReturnCharacterSetSchema`,
        NULL AS `ReturnCharacterSetName`,
        NULL AS `ReturnIsMultiSet`,
        NULL AS `IsAggregate`,
        NULL AS `IsBuiltIn`,
        NULL AS `IsNiladic`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='FUNCTION'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT /* Procedures */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='PROCEDURE'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME, '.', f.PARAMETER_NAME) AS `Id`,
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME) AS `ParentId`,
        f.PARAMETER_NAME AS `Name`,
        f.ORDINAL_POSITION `Ordinal`,
        f.DATA_TYPE AS `TypeName`,
        f.CHARACTER_MAXIMUM_LENGTH AS `MaxLength`,
        f.NUMERIC_PRECISION AS`Precision`,
        NULL AS `DateTimePrecision`,
        f.NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        f.COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        f.CHARACTER_SET_NAME AS `CharacterSetName`,
        CAST(0 as decimal(0,0)) AS `IsMultiSet`,
        f.PARAMETER_MODE AS `Mode`,
        NULL AS `Default`
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.ROUTINE_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'FUNCTION'
        WHERE
        r.ROUTINE_SCHEMA=schema() AND f.ORDINAL_POSITION > 0
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME, '.', f.PARAMETER_NAME) AS `Id`,
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME) AS `ParentId`,
        f.PARAMETER_NAME AS `Name`,
        f.ORDINAL_POSITION `Ordinal`,
        f.DATA_TYPE AS `TypeName`,
        f.CHARACTER_MAXIMUM_LENGTH AS `MaxLength`,
        f.NUMERIC_PRECISION AS`Precision`,
        NULL AS `DateTimePrecision`,
        f.NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        f.COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        f.CHARACTER_SET_NAME AS `CharacterSetName`,
        CAST(0 as decimal(0,0)) AS `IsMultiSet`,
        f.PARAMETER_MODE AS `Mode`,
        NULL AS `Default`
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.ROUTINE_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'PROCEDURE'
        WHERE
        r.ROUTINE_SCHEMA=schema() AND f.ORDINAL_POSITION > 0
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT  /* Constraints */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        CONSTRAINT_NAME AS `Name`,
        CONSTRAINT_TYPE AS `ConstraintType`,
        0 AS `IsDeferrable`,
        0 AS `IsInitiallyDeferred`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE != 'CHECK' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT  /* Check constraints */
        NULL AS `Id`,
        NULL AS `Expression`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* Constraint columns */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `ConstraintId`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `ColumnId`
        FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

<!--
    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT /* Foreign key constraints */
        CONCAT('`', TABLE_SCHEMA, '`.`', CONSTRAINT_NAME, '`') AS `Id`,
        'NO ACTION' AS `UpdateRule`,
        'NO ACTION' AS `DeleteRule`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>
-->

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        UPDATE_RULE AS `UpdateRule`,
        DELETE_RULE AS `DeleteRule`
        FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.CONSTRAINT_NAME, '.', FC.ORDINAL_POSITION) AS `Id`,
        CONCAT(PC.TABLE_SCHEMA, '.', PC.TABLE_NAME, '.', PC.COLUMN_NAME) AS `ToColumnId`,
        CONCAT(FC.TABLE_SCHEMA, '.', FC.TABLE_NAME, '.', FC.COLUMN_NAME) AS `FromColumnId`,
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.TABLE_NAME, '.', FC.CONSTRAINT_NAME) AS `ConstraintId`,
        FC.ORDINAL_POSITION 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
        AND      RC.REFERENCED_TABLE_NAME     = PC.TABLE_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      RC.TABLE_NAME         = FC.TABLE_NAME
        AND      PC.ORDINAL_POSITION   = FC.ORDINAL_POSITION
<!--        WHERE FC.CONSTRAINT_SCHEMA='test3'-->
      </DefiningQuery>
    </EntitySet>    
    
    <!--<EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT  /* Foreign keys */
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.TABLE_NAME, '`.`',
               KEYCOLS.CONSTRAINT_NAME, '`.`', KEYCOLS.COLUMN_NAME, '`') AS `Id`,
        CONCAT('`', KEYCOLS.REFERENCED_TABLE_SCHEMA, '`.`', 
               KEYCOLS.REFERENCED_TABLE_NAME, '`.`', 
               KEYCOLS.REFERENCED_COLUMN_NAME, '`') AS `ToColumnId`,
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.TABLE_NAME, '`.`', KEYCOLS.COLUMN_NAME, '`') AS `FromColumnId`,
        KEYCOLS.COLUMN_NAME AS `Name`,
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.CONSTRAINT_NAME, '`') AS `ConstraintId`,
        KEYCOLS.ORDINAL_POSITION AS `Ordinal`
        FROM
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE KEYCOLS
        WHERE TC.CONSTRAINT_TYPE = 'FOREIGN KEY'
        AND TC.TABLE_SCHEMA = KEYCOLS.TABLE_SCHEMA
        AND TC.TABLE_NAME = KEYCOLS.TABLE_NAME
        AND TC.CONSTRAINT_NAME = KEYCOLS.CONSTRAINT_NAME
        AND TC.TABLE_SCHEMA = schema()
      </DefiningQuery>
    </EntitySet>-->

    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT /* View constraints */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `ConstraintType`,
        NULL AS `Expression`,
        NULL AS `UpdateRule`,
        NULL AS `DeleteRule`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* View constraint columns */
        NULL AS `ConstraintId`,
        NULL AS `ColumnId`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT /* View foreign keys */
        NULL AS `Id`,
        NULL AS `ToColumnId`,
        NULL AS `FromColumnId`,
        NULL AS `ConstraintId`,
        0 AS `Ordinal`
      </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="varchar" MaxLength="256"/>
    <Property Name="Catalog" Type="varchar" MaxLength="256" />
    <Property Name="Schema" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <Association Name="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="MySqlClient" 
        Provider="MySql.Data.MySqlClient"
        ProviderManifestToken="5"
        Alias="Self" 
        xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
		  SELECT /* Tables */
		  CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
		  TABLE_CATALOG AS `Catalog`,
		  TABLE_SCHEMA  AS `Schema`,
		  TABLE_NAME    AS `Name`
		  FROM INFORMATION_SCHEMA.TABLES
		  WHERE TABLE_TYPE = 'BASE TABLE'
      AND TABLE_SCHEMA=schema()
	  </DefiningQuery>
    </EntitySet>
    
    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SELECT /* Table columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
        IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
        IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
        CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        CASE WHEN NUMERIC_PRECISION > 0 THEN CAST(NUMERIC_PRECISION AS CHAR)
        WHEN DATETIME_PRECISION > 0 THEN CAST(DATETIME_PRECISION AS CHAR)
        ELSE 0
        END AS `Precision`,
        DATETIME_PRECISION AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsIdentity`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT /* Views */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
        TABLE_CATALOG AS`CatalogName`,
        TABLE_SCHEMA AS `SchemaName`,
        TABLE_NAME AS `Name`,
        VIEW_DEFINITION AS `ViewDefinition`,
        CASE IS_UPDATABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsUpdatable`
        FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SELECT /* View columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
        IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
        IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
        CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        CASE WHEN NUMERIC_PRECISION > 0 THEN CAST(NUMERIC_PRECISION AS UNSIGNED INTEGER)
        WHEN DATETIME_PRECISION > 0 THEN CAST(DATETIME_PRECISION AS UNSIGNED INTEGER)
        ELSE 0
        END AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsIdentity`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT /* Functions */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`,
        SUBSTRING_INDEX(DTD_IDENTIFIER, '(', 1) AS `ReturnTypeName`,
        NULL AS `ReturnMaxLength`,
        NULL AS `ReturnPrecision`,
        0 AS `ReturnDateTimePrecision`,
        NULL AS `ReturnScale`,
        NULL AS `ReturnCollationCatalog`,
        NULL AS `ReturnCollationSchema`,
        NULL AS `ReturnCollationName`,
        NULL AS `ReturnCharacterSetCatalog`,
        NULL AS `ReturnCharacterSetSchema`,
        NULL AS `ReturnCharacterSetName`,
        NULL AS `ReturnIsMultiSet`,
        NULL AS `IsAggregate`,
        NULL AS `IsBuiltIn`,
        NULL AS `IsNiladic`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='FUNCTION'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT /* Procedures */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='PROCEDURE'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME, '.', f.PARAMETER_NAME) AS `Id`,
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME) AS `ParentId`,
        f.PARAMETER_NAME AS `Name`,
        f.ORDINAL_POSITION `Ordinal`,
        f.DATA_TYPE AS `TypeName`,
        f.CHARACTER_MAXIMUM_LENGTH AS `MaxLength`,
        f.NUMERIC_PRECISION AS`Precision`,
        NULL AS `DateTimePrecision`,
        f.NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        f.COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        f.CHARACTER_SET_NAME AS `CharacterSetName`,
        CAST(0 as decimal(0,0)) AS `IsMultiSet`,
        f.PARAMETER_MODE AS `Mode`,
        NULL AS `Default`
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.ROUTINE_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'FUNCTION'
        WHERE
        r.ROUTINE_SCHEMA=schema() AND f.ORDINAL_POSITION > 0
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME, '.', f.PARAMETER_NAME) AS `Id`,
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME) AS `ParentId`,
        f.PARAMETER_NAME AS `Name`,
        f.ORDINAL_POSITION `Ordinal`,
        f.DATA_TYPE AS `TypeName`,
        f.CHARACTER_MAXIMUM_LENGTH AS `MaxLength`,
        f.NUMERIC_PRECISION AS`Precision`,
        NULL AS `DateTimePrecision`,
        f.NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        f.COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        f.CHARACTER_SET_NAME AS `CharacterSetName`,
        CAST(0 as decimal(0,0)) AS `IsMultiSet`,
        f.PARAMETER_MODE AS `Mode`,
        NULL AS `Default`
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.ROUTINE_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'PROCEDURE'
        WHERE
        r.ROUTINE_SCHEMA=schema() AND f.ORDINAL_POSITION > 0
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT  /* Constraints */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        CONSTRAINT_NAME AS `Name`,
        CONSTRAINT_TYPE AS `ConstraintType`,
        0 AS `IsDeferrable`,
        0 AS `IsInitiallyDeferred`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE != 'CHECK' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT  /* Check constraints */
        NULL AS `Id`,
        NULL AS `Expression`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* Constraint columns */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `ConstraintId`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `ColumnId`
        FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

<!--
    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT /* Foreign key constraints */
        CONCAT('`', TABLE_SCHEMA, '`.`', CONSTRAINT_NAME, '`') AS `Id`,
        'NO ACTION' AS `UpdateRule`,
        'NO ACTION' AS `DeleteRule`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>
-->

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        UPDATE_RULE AS `UpdateRule`,
        DELETE_RULE AS `DeleteRule`
        FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.CONSTRAINT_NAME, '.', FC.ORDINAL_POSITION) AS `Id`,
        CONCAT(PC.TABLE_SCHEMA, '.', PC.TABLE_NAME, '.', PC.COLUMN_NAME) AS `ToColumnId`,
        CONCAT(FC.TABLE_SCHEMA, '.', FC.TABLE_NAME, '.', FC.COLUMN_NAME) AS `FromColumnId`,
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.TABLE_NAME, '.', FC.CONSTRAINT_NAME) AS `ConstraintId`,
        FC.ORDINAL_POSITION 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
        AND      RC.REFERENCED_TABLE_NAME     = PC.TABLE_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      RC.TABLE_NAME         = FC.TABLE_NAME
        AND      PC.ORDINAL_POSITION   = FC.ORDINAL_POSITION
<!--        WHERE FC.CONSTRAINT_SCHEMA='test3'-->
      </DefiningQuery>
    </EntitySet>    
    
    <!--<EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT  /* Foreign keys */
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.TABLE_NAME, '`.`',
               KEYCOLS.CONSTRAINT_NAME, '`.`', KEYCOLS.COLUMN_NAME, '`') AS `Id`,
        CONCAT('`', KEYCOLS.REFERENCED_TABLE_SCHEMA, '`.`', 
               KEYCOLS.REFERENCED_TABLE_NAME, '`.`', 
               KEYCOLS.REFERENCED_COLUMN_NAME, '`') AS `ToColumnId`,
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.TABLE_NAME, '`.`', KEYCOLS.COLUMN_NAME, '`') AS `FromColumnId`,
        KEYCOLS.COLUMN_NAME AS `Name`,
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.CONSTRAINT_NAME, '`') AS `ConstraintId`,
        KEYCOLS.ORDINAL_POSITION AS `Ordinal`
        FROM
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE KEYCOLS
        WHERE TC.CONSTRAINT_TYPE = 'FOREIGN KEY'
        AND TC.TABLE_SCHEMA = KEYCOLS.TABLE_SCHEMA
        AND TC.TABLE_NAME = KEYCOLS.TABLE_NAME
        AND TC.CONSTRAINT_NAME = KEYCOLS.CONSTRAINT_NAME
        AND TC.TABLE_SCHEMA = schema()
      </DefiningQuery>
    </EntitySet>-->

    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT /* View constraints */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `ConstraintType`,
        NULL AS `Expression`,
        NULL AS `UpdateRule`,
        NULL AS `DeleteRule`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* View constraint columns */
        NULL AS `ConstraintId`,
        NULL AS `ColumnId`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT /* View foreign keys */
        NULL AS `Id`,
        NULL AS `ToColumnId`,
        NULL AS `FromColumnId`,
        NULL AS `ConstraintId`,
        0 AS `Ordinal`
      </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="varchar" MaxLength="256"/>
    <Property Name="Catalog" Type="varchar" MaxLength="256" />
    <Property Name="Schema" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <Association Name="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"?>
<!-- 
####################################################################################################################

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

#################################################################################################################### 
-->
<ProviderManifest Namespace="MySql" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/providermanifest">
  <Types>
    <Type Name ="guid" PrimitiveTypeKind ="Guid"/>
    <Type Name="bool" PrimitiveTypeKind="Boolean"/>
    <!-- signed types -->
    <Type Name="tinyint" PrimitiveTypeKind="SByte"/>
    <Type Name="smallint" PrimitiveTypeKind="Int16"/>
    <Type Name="mediumint" PrimitiveTypeKind="Int32"/>
    <Type Name="int" PrimitiveTypeKind ="Int32"/>
    <Type Name="bigint" PrimitiveTypeKind="Int64"/>
    <!-- unsigned types are mapped to signed value big enough to hold it 
         since EF doesn't support unsigned types directly -->
    <Type Name="utinyint" PrimitiveTypeKind="Byte"/>
    <Type Name="usmallint" PrimitiveTypeKind="Int32"/>
    <Type Name="umediumint" PrimitiveTypeKind="Int32"/>
    <Type Name="uint" PrimitiveTypeKind ="Int64"/>
    <Type Name="ubigint" PrimitiveTypeKind="Decimal">
      <FacetDescriptions>
        <Precision Minimum="20" Maximum="20" DefaultValue="20" Constant="true" />
        <Scale Minimum="0" Maximum="0" DefaultValue="0" Constant="true" />
      </FacetDescriptions>
    </Type>
    
    <Type Name="year" PrimitiveTypeKind="Int16"/>
    <Type Name="float" PrimitiveTypeKind="Single"/>
    <Type Name="double" PrimitiveTypeKind="Double"/>
    <Type Name="decimal" PrimitiveTypeKind="Decimal">
      <FacetDescriptions>
        <Precision Minimum="1" Maximum="65" DefaultValue="10" Constant="false" />
        <Scale Minimum="0" Maximum="30" DefaultValue="0" Constant="false" />
      </FacetDescriptions>
    </Type>
    <Type Name="timestamp" PrimitiveTypeKind="DateTime">
      <FacetDescriptions>
        <Precision Minimum="0" Maximum="6" DefaultValue="0" Constant="false" />
      </FacetDescriptions>
    </Type>
    <Type Name="date" PrimitiveTypeKind="DateTime">
      <FacetDescriptions>
        <Precision DefaultValue="0" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="time" PrimitiveTypeKind="Time">
      <FacetDescriptions>
        <MaxLength DefaultValue="8" Constant="true" />
        <FixedLength DefaultValue="true" Constant="true" />
        <Precision  Minimum="0" Maximum="6" DefaultValue="0" Constant="false" />
      </FacetDescriptions>
    </Type>
    <Type Name="datetime" PrimitiveTypeKind="DateTime">
      <FacetDescriptions>
        <Precision Minimum="0" Maximum="6" DefaultValue="0" Constant="false" />
      </FacetDescriptions>
    </Type>
    <Type Name="nvarchar" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="65535" DefaultValue="1000" Constant="false" />
        <Unicode DefaultValue="true" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="varchar" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="65535" DefaultValue="1000" Constant="false" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="char" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="255" DefaultValue="255" Constant="false" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="true" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="nchar" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="255" DefaultValue="255" Constant="false" />
        <Unicode DefaultValue="true" Constant="true" />
        <FixedLength DefaultValue="true" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="binary" PrimitiveTypeKind="Binary">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="255" Constant="false" />
        <FixedLength DefaultValue="true" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="varbinary" PrimitiveTypeKind="Binary">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="65535" DefaultValue="100" Constant="false" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="bit" PrimitiveTypeKind="Boolean"/>
    <Type Name="tinyblob" PrimitiveTypeKind="Binary" >
      <FacetDescriptions>
        <MaxLength DefaultValue="255" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="blob" PrimitiveTypeKind="Binary" >
      <FacetDescriptions>
        <MaxLength DefaultValue="65535" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="mediumblob" PrimitiveTypeKind="Binary" >
      <FacetDescriptions>
        <MaxLength DefaultValue="16777215" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="longblob" PrimitiveTypeKind="Binary" >
      <FacetDescriptions>
        <MaxLength DefaultValue="2147483647" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="tinytext" PrimitiveTypeKind="String" >
      <FacetDescriptions>
        <MaxLength DefaultValue="255" Constant="true" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="text" PrimitiveTypeKind="String" >
      <FacetDescriptions>
        <MaxLength DefaultValue="65535" Constant="true" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="mediumtext" PrimitiveTypeKind="String" >
      <FacetDescriptions>
        <MaxLength DefaultValue="16777215" Constant="true" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <!--    <Type Name="longtext" PrimitiveTypeKind="String" >
      <FacetDescriptions>
        <MaxLength Default="2147483647" Constant="true" />
        <Unicode Default="false" Constant="true" />
        <FixedLength Default="false" Constant="true" />
      </FacetDescriptions>
    </Type>-->

    <Type Name="longtext" PrimitiveTypeKind="String" >
      <FacetDescriptions>
        <MaxLength DefaultValue="1073741823" Constant="true" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="set" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength DefaultValue="65531" Constant="true" />
        <Unicode DefaultValue="true" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="enum" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength DefaultValue="65532" Constant="true" />
        <Unicode DefaultValue="true" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>


  </Types>
  <Functions>
    <!-- ### AGGREGAfTES ### -->
    
    <!-- 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>

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

    <!-- 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="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="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 AGGREGATES -->
    <Function Name="STDDEV" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="arg" Type="Collection(Double)" Mode="In" />
    </Function>

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

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

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

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

    <!-- ### BIT FUNCTIONS ### -->

    <!-- Bit_Count -->
    <Function Name="BIT_COUNT" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="n" Type="Int64" Mode="In"/>
    </Function>

    <!-- ### STRING FUNCTIONS ### -->
    
    <!-- Ascii -->
    <Function Name="ASCII" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="arg" Type="String" Mode="In" />
    </Function>

    <Function Name="BIN" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="arg" Type="Int64" Mode="In"/>
    </Function>

    <Function Name="BIT_LENGTH" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>

    <Function Name="CHAR_LENGTH" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>

    <Function Name="CHARACTER_LENGTH" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>

    <Function Name="CONCAT" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="arg0" Type="String" Mode="In"/>
      <Parameter Name="arg1" Type="String" Mode="In"/>
    </Function>

    <Function Name="CONV" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="N" Type="String" Mode="In"/>
      <Parameter Name="from_base" Type="Int32" Mode="In"/>
      <Parameter Name="to_base" Type="Int32" Mode="In"/>
    </Function>

    <!-- todo check longer versions of concat -->
    <!-- todo implement concat_ws -->
    <!-- todo implement elt -->
    <!-- todo implement export_set -->
    <!-- todo implement field -->

    <Function Name="FIND_IN_SET" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="str_to_find" Type="String" Mode="In"/>
      <Parameter Name="string_list" Type="String" Mode="In"/>
    </Function>

    <Function Name="FORMAT" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="value" Type="Double" Mode="In"/>
      <Parameter Name="dec_places" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="HEX" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="n_or_s" Type="String" Mode="In"/>
    </Function>

    <Function Name="INSERT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="original_string" Type="String" Mode="In"/>
      <Parameter Name="position" Type="Int64" Mode="In"/>
      <Parameter Name="length" Type="Int64" Mode="In"/>
      <Parameter Name="new_string" Type="String" Mode="In"/>
    </Function>

    <Function Name="INSTR" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="substr" Type="String" Mode="In"/>
    </Function>

    <Function Name="LEFT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="len" Type="Int64" Mode="In"/>
    </Function>

    <Function Name="LENGTH" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="LOAD_FILE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="file_name" Type="String" Mode="In"/>
    </Function>

    <Function Name="LOCATE" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="substr" Type="String" Mode="In"/>
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="LOCATE" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="substr" Type="String" Mode="In"/>
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pos" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="LOWER" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- LCASE is a synonym for LOWER -->
    <Function Name="LCASE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="LPAD" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="len" Type="Int32" Mode="In"/>
      <Parameter Name="padstr" Type="String" Mode="In"/>
    </Function>

    <Function Name="LTRIM" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- implement MAKE_SET -->

    <Function Name="MID" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pos" Type="Int32" Mode="In"/>
      <Parameter Name="len" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="OCT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="N" Type="Int64" Mode="In"/>
    </Function>

    <Function Name="OCTET_LENGTH" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="ORD" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="QUOTE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="REPEAT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="count" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="REPLACE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="from_str" Type="String" Mode="In"/>
      <Parameter Name="to_str" Type="String" Mode="In"/>
    </Function>

    <Function Name="REVERSE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="RIGHT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="len" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="RPAD" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="len" Type="Int32" Mode="In"/>
      <Parameter Name="padstr" Type="String" Mode="In"/>
    </Function>

    <Function Name="RTRIM" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="SOUNDEX" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="SPACE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="N" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="SUBSTR" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pos" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="SUBSTR" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pos" Type="Int32" Mode="In"/>
      <Parameter Name="len" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="SUBSTRING" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pos" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="SUBSTRING" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pos" Type="Int32" Mode="In"/>
      <Parameter Name="len" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="SUBSTRING_INDEX" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="delim" Type="String" Mode="In"/>
      <Parameter Name="count" Type="Int32" Mode="In"/>
    </Function>

    <!-- implement TRIM -->

    <Function Name="UCASE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="UNHEX" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="UPPER" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

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

    <!-- Abs -->
    <Function Name="ABS" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="x" Type="Int64" Mode="In"/>
    </Function>

    <!-- Acos -->
    <Function Name="ACOS" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Asin -->
    <Function Name="ASIN" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Atan -->
    <Function Name="ATAN" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

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

    <!-- Atan2 -->
    <Function Name="ATAN2" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="y" Type="Double" Mode="In"/>
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>
    
    <!-- Ceil -->
    <Function Name="CEIL" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Ceiling -->
    <Function Name="CEILING" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Cos -->
    <Function Name="COS" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Cot -->
    <Function Name="COT" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Crc32 -->
    <Function Name="CRC32" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="expr" Type="String" Mode="In"/>
    </Function>

    <!-- Degrees -->
    <Function Name="DEGREES" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Exp -->
    <Function Name="EXP" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Floor -->
    <Function Name="FLOOR" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>
    
    <!-- Ln -->
    <Function Name="LN" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Log-->
    <Function Name="LOG" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <Function Name="LOG" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="b" Type="Double" Mode="In"/>
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Log2 -->
    <Function Name="LOG2" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Log10 -->
    <Function Name="LOG10" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Mod -->
    <Function Name="MOD" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="n" Type="Double" Mode="In"/>
      <Parameter Name="m" Type="Double" Mode="In"/>
    </Function>

    <!-- pi -->
    <Function Name="PI" BuiltIn="true">
      <ReturnType Type="Double" />
    </Function>

    <!-- Pow -->
    <Function Name="POW" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
      <Parameter Name="y" Type="Double" Mode="In"/>
    </Function>

    <!-- Power -->
    <Function Name="POWER" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
      <Parameter Name="y" Type="Double" Mode="In"/>
    </Function>

    <!-- Radians -->
    <Function Name="RADIANS" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Rand -->
    <Function Name="RAND" BuiltIn="true">
      <ReturnType Type="Double" />
    </Function>

    <Function Name="RAND" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="n" Type="Double" Mode="In"/>
    </Function>

    <!-- Round -->
    <Function Name="ROUND" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <Function Name="ROUND" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
      <Parameter Name="d" Type="Int32" Mode="In"/>
    </Function>

    <!-- Sign -->
    <Function Name="SIGN" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Sin -->
    <Function Name="SIN" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Sqrt -->
    <Function Name="SQRT" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Tan -->
    <Function Name="TAN" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Truncate -->
    <Function Name="TRUNCATE" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
      <Parameter Name="d" Type="Int32" Mode="In"/>
    </Function>

    <!-- ### DATE FUNCTIONS ### -->

    <!-- AddDate -->
    <Function Name="ADDDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="DateTime" Mode="In"/>
      <Parameter Name="days" Type="Int32" Mode="In"/>
    </Function>
    
    <Function Name="ADDDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="String" Mode="In"/>
      <Parameter Name="days" Type="Int32" Mode="In"/>
    </Function>

    <!-- AddTime -->
    <Function Name="ADDTIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="ADDTIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="ADDTIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="Time" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="ADDTIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>
    
    <Function Name="ADDTIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="Time" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="ADDTIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <!-- Convert_Tz -->
    <Function Name="CONVERT_TZ" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="dt" Type="String" Mode="In"/>
      <Parameter Name="from_tz" Type="String" Mode="In"/>
      <Parameter Name="to_tz" Type="String" Mode="In"/>
    </Function>

    <Function Name="CONVERT_TZ" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="dt" Type="DateTime" Mode="In"/>
      <Parameter Name="from_tz" Type="String" Mode="In"/>
      <Parameter Name="to_tz" Type="String" Mode="In"/>
    </Function>

    <!-- CurDate -->
    <Function Name="CURDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>
    <Function Name="CURRENT_DATE" BuiltIn="true">
      <ReturnType Type="DateTime"/>
    </Function>

    <!-- CurTime -->
    <Function Name="CURTIME" BuiltIn="true">
      <ReturnType Type="Time" />
    </Function>
    <Function Name="CURRENT_TIME" BuiltIn="true">
      <ReturnType Type="Time" />
    </Function>

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

    <!--Date -->
    <Function Name="DATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="String" Mode="In"/>
    </Function>

    <Function Name="DATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="DateTime" Mode="In"/>
    </Function>

    <!-- DateDiff -->
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="DateTime" Mode="In"/>
    </Function>

    <!-- Date_Add (todo) -->
    
    <!-- Date_Format -->
    <Function Name="DATE_FORMAT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <Function Name="DATE_FORMAT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="date" Type="String" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <!-- Day -->
    <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="String" Mode="In"/>
    </Function>

    <!-- DayName -->
    <Function Name="DAYNAME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="DAYNAME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- DayOfMonth -->
    <Function Name="DAYOFMONTH" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="DAYOFMONTH" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- DayOfWeek-->
    <Function Name="DAYOFWEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="DAYOFWEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- DayOfYear-->
    <Function Name="DAYOFYEAR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="DAYOFYEAR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- Extract (todo) -->
    
    <!-- From_Days -->
    <Function Name="FROM_DAYS" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="n" Type="Int32" Mode="In"/>
    </Function>

    <!-- From_UnixTime -->
    <Function Name="FROM_UNIXTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="unix_timestamp" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="FROM_UNIXTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="unix_timestamp" Type="Int32" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <!-- Get_Format (todo) -->
    
    <!-- Hour -->
    <Function Name="HOUR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="time" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="HOUR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="time" Type="String" Mode="In"/>
    </Function>

    <!-- Last_Day -->
    <Function Name="LAST_DAY" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="LAST_DAY" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- LocalTime -->
    <Function Name="LOCALTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>

    <!-- LocalTimeStamp -->
    <Function Name="LOCALTIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>

    <!-- MakeDate -->
    <Function Name="MAKEDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="year" Type="Int32" Mode="In"/>
      <Parameter Name="dayOfYear" Type="Int32" Mode="In"/>
    </Function>

    <!-- MakeTime -->
    <Function Name="MAKETIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="hour" Type="Int32" Mode="In"/>
      <Parameter Name="minute" Type="Int32" Mode="In"/>
      <Parameter Name="second" Type="Int32" Mode="In"/>
    </Function>

    <!-- MicroSecond -->
    <Function Name="MICROSECOND" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="expr" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="MICROSECOND" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="expr" Type="Time" Mode="In"/>
    </Function>
    
    <Function Name="MICROSECOND" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="expr" Type="String" Mode="In"/>
    </Function>

    <!-- Minute -->
    <Function Name="MINUTE" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="time" Type="DateTime" Mode="In"/>
    </Function>
    
    <Function Name="MINUTE" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="time" Type="Time" Mode="In"/>
    </Function>

    <Function Name="MINUTE" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="time" Type="String" Mode="In"/>
    </Function>

    <!-- Month -->
    <Function Name="MONTH" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="MONTH" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- MonthName -->
    <Function Name="MONTHNAME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="MONTHNAME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- Now -->
    <Function Name="NOW" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>
    
    <!-- Period_Add -->
    <Function Name="PERIOD_ADD" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="p" Type="Int32" Mode="In"/>
      <Parameter Name="n" Type="Int32" Mode="In"/>
    </Function>

    <!-- Period_Diff -->
    <Function Name="PERIOD_DIFF" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="p1" Type="Int32" Mode="In"/>
      <Parameter Name="p2" Type="Int32" Mode="In"/>
    </Function>

    <!-- Quarter -->
    <Function Name="QUARTER" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="QUARTER" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- Second -->
    <Function Name="SECOND" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="time" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="SECOND" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="time" Type="Time" Mode="In"/>
    </Function>

    <Function Name="SECOND" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="time" Type="String" Mode="In"/>
    </Function>

    <!-- Sec_To_Time -->
    <Function Name="SEC_TO_TIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="seconds" Type="Int32" Mode="In"/>
    </Function>

    <!-- Str_To_Date -->
    <Function Name="STR_TO_DATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <!-- SubDate -->
    <Function Name="SUBDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="DateTime" Mode="In"/>
      <Parameter Name="days" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="SUBDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="String" Mode="In"/>
      <Parameter Name="days" Type="Int32" Mode="In"/>
    </Function>

    <!-- SubTime -->
    <Function Name="SUBTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="SUBTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="SUBTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="Time" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="SUBTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="Time" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="SUBTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="SUBTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <!-- SysDate -->
    <Function Name="SYSDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>

    <!-- Time -->
    <Function Name="TIME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="expr" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="TIME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="expr" Type="Time" Mode="In"/>
    </Function>

    <Function Name="TIME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="expr" Type="String" Mode="In"/>
    </Function>

    <!-- TimeDiff -->
    <Function Name="TIMEDIFF" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="TIMEDIFF" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="Time" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="TIMEDIFF" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <!-- TimeStamp -->
    <Function Name="TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="String" Mode="In"/>
    </Function>

    <Function Name="TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <!-- TimeStampAdd (todo) -->
    <!-- TimeStampDiff (todo) -->

    <!-- Time_Format -->
    <Function Name="TIME_FORMAT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="time" Type="DateTime" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <Function Name="TIME_FORMAT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="time" Type="Time" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <Function Name="TIME_FORMAT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="time" Type="String" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <!-- Time_To_Sec -->
    <Function Name="TIME_TO_SEC" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="time" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="TIME_TO_SEC" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="time" Type="Time" Mode="In"/>
    </Function>
    
    <Function Name="TIME_TO_SEC" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="time" Type="String" Mode="In"/>
    </Function>

    <!-- To_Days -->
    <Function Name="TO_DAYS" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="TO_DAYS" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <Function Name="TO_DAYS" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="Int32" Mode="In"/>
    </Function>

    <!-- Unix_TimeStamp -->
    <Function Name="UNIX_TIMESTAMP" BuiltIn="true">
      <ReturnType Type="Int64" />
    </Function>

    <Function Name="UNIX_TIMESTAMP" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="UNIX_TIMESTAMP" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- Utc_Date -->
    <Function Name="UTC_DATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>

    <!-- Utc_Time -->
    <Function Name="UTC_TIME" BuiltIn="true">
      <ReturnType Type="Time" />
    </Function>

    <!-- Utc_TimeStamp -->
    <Function Name="UTC_TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>

    <!-- Week -->
    <Function Name="WEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="WEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <Function Name="WEEK" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="DateTime" Mode="In"/>
      <Parameter Name="mode" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="WEEK" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="String" Mode="In"/>
      <Parameter Name="mode" Type="Int32" Mode="In"/>
    </Function>

    <!-- WeekDay -->
    <Function Name="WEEKDAY" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="WEEKDAY" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- WeekOfYear-->
    <Function Name="WEEKOFYEAR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="WEEKOFYEAR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- Year -->
    <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="String" Mode="In"/>
    </Function>

    <!-- YearWeek -->
    <Function Name="YEARWEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="YEARWEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <Function Name="YEARWEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
      <Parameter Name="mode" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="YEARWEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
      <Parameter Name="mode" Type="Int32" Mode="In"/>
    </Function>

    <!-- ### ENCRYPTION AND COMPRESSION FUNCTIONS ### -->

    <!-- Aes_Decrypt -->
    <Function Name="AES_DECRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="crypt_str" Type="String" Mode="In"/>
      <Parameter Name="key_str" Type="String" Mode="In"/>
    </Function>

    <!-- Aes_Encrypt -->
    <Function Name="AES_ENCRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="key_str" Type="String" Mode="In"/>
    </Function>

    <!-- Compress -->
    <Function Name="COMPRESS" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="string_to_compress" Type="String" Mode="In"/>
    </Function>

    <!-- Decode -->
    <Function Name="DECODE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="crypt_str" Type="String" Mode="In"/>
      <Parameter Name="pass_str" Type="String" Mode="In"/>
    </Function>

    <!-- Encode -->
    <Function Name="ENCODE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pass_str" Type="String" Mode="In"/>
    </Function>

    <!-- Des_Decrypt -->
    <Function Name="DES_DECRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="crypt_str" Type="String" Mode="In"/>
    </Function>

    <Function Name="DES_DECRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="crypt_str" Type="String" Mode="In"/>
      <Parameter Name="key_str" Type="String" Mode="In"/>
    </Function>

    <!-- Des_Encrypt -->
    <Function Name="DES_ENCRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="DES_ENCRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="key_num" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="DES_ENCRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="key_str" Type="String" Mode="In"/>
    </Function>

    <!-- Encrypt -->
    <Function Name="ENCRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="ENCRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="salt" Type="String" Mode="In"/>
    </Function>

    <!-- Md5 -->
    <Function Name="MD5" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Old_Password -->
    <Function Name="OLD_PASSWORD" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Password -->
    <Function Name="PASSWORD" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Sha -->
    <Function Name="SHA" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Sha1 -->
    <Function Name="SHA1" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Uncompress -->
    <Function Name="UNCOMPRESS" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Uncompressed_Length -->
    <Function Name="UNCOMPRESSED_LENGTH" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- ### INFORMATION FUNCTIONS ### -->

    <!-- Benchmark (todo) -->

    <!-- CharSet -->
    <Function Name="charset" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Coercibility -->
    <Function Name="COERCIBILITY" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Collation -->
    <Function Name="COLLATION" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Connection_Id -->
    <Function Name="CONNECTION_ID" BuiltIn="true">
      <ReturnType Type="Int32" />
    </Function>

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

    <!-- Database -->
    <Function Name="DATABASE" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- Found_Rows -->
    <Function Name="FOUND_ROWS" BuiltIn="true">
      <ReturnType Type="Int32" />
    </Function>

    <!-- Last_Insert_id -->
    <Function Name="LAST_INSERT_ID" BuiltIn="true">
      <ReturnType Type="Int64" />
    </Function>

    <!-- Row_Count -->
    <Function Name="ROW_COUNT" BuiltIn="true">
      <ReturnType Type="Int64" />
    </Function>

    <!-- User -->
    <Function Name="USER" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- Session_User -->
    <Function Name="SESSION_USER" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- System_user -->
    <Function Name="SYSTEM_USER" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- Schema -->
    <Function Name="SCHEMA" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- Version -->
    <Function Name="VERSION" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- ### OTHER FUNCTIONS ### -->

    <!-- Default (??) -->

    <!-- Get_Lock-->
    <Function Name="GET_LOCK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="timeout" Type="Int32" Mode="In"/>
    </Function>

    <!-- Inet_Aton -->
    <Function Name="INET_ATON" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="expr" Type="String" Mode="In"/>
    </Function>

    <!-- Inet_Ntoa -->
    <Function Name="INET_NTOA" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="expr" Type="Int64" Mode="In"/>
    </Function>

    <!-- Is_Free_Lock -->
    <Function Name="IS_FREE_LOCK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Is_Used_Lock -->
    <Function Name="IS_USED_LOCK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Master_Pos_Wait -->
    <Function Name="MASTER_POS_WAIT" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="log_name" Type="String" Mode="In"/>
      <Parameter Name="log_pos" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="MASTER_POS_WAIT" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="log_name" Type="String" Mode="In"/>
      <Parameter Name="log_pos" Type="Int32" Mode="In"/>
      <Parameter Name="timeout" Type="Int32" Mode="In"/>
    </Function>

    <!-- Name_Const (??) -->

    <!-- Release_Lock -->
    <Function Name="RELEASE_LOCK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Sleep -->
    <Function Name="SLEEP" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="duration" Type="Double" Mode="In"/>
    </Function>

    <!-- Uuid -->
    <Function Name="UUID" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- Values (???) -->
  </Functions>
</ProviderManifest>
BSJBv4.0.30319l�P#~$Q�F#Strings���,#USd�#GUIDt�$#BlobW��)	�%38����v:`l	&
?,
YRd,
qR��
�R��2
qO
�R�,�,�,��,� ,8,h �,� 
.
Q@��
VR
kR
��
�R
�R	 
�	�	
�	��

!
�������-�K�`�q���������������%�6�G�Z�p�����������#�4�G�]�p�}���������������&�:�M�a�v���q�����
^
l�{�{�{{<
P{�c�{�{�{�{{{0{C{V{l{�O�,�{�{�{�{
�R
�R
��
�E e x
������x
�R�, �4 �
� R� � 
�$�$
�'�'
(�'
&(�'
S(C(
y(�'
�(�'
�(�'
�(�'
�(�'
)�'
)�$
-)�$
;)�'
V)�'
�)o)
�)�'
�)�'
�)�
**_3*
B*o)
b*o)�*��*�+�6+�
f+
�+R
�+
�+�'
�+R

,R
+,R
H,R
l,R
�,R
�,R
�,R
�,R
�,R
,-o)
G-R
�-o)
�-R
�-R
�-R��-
Q.R�.�.�.�.(/��/�
0
0R<0
c0D0
x0R�0�0�
11?1�S1�w1��1��-2�=2U2��2��2�
'3R
e3R"�4�4
$5*
?5*
V5*
n5
6R�7{
�7R�7{
=8388{
u938
�9R
z;�'
�<R
�=L>{
w>R(??
??*
l?�'�?�?�?�?
�?R
�?R�?	@>@ 
b@R
�@R�@
uA38
�A38
�A38
�A38�A�A1BdBB�B,C�C :C ]C�C�CD>DTD
wDR�D�D� /A/
�S/>�_/	Em/Q{/T��/W�/a�/l�/(p�/(s�/v�/"y�/('�
/(�/(,�*/(-�7/0�D/1�T/2�e/3�r/5���/6��/`=��/`=��/>��/`D��/D�/E	�/`H	�/`I�/K$/!K&1/%XFL)h}Ych��/j��/l��/p���-p���{���1{�/�/���,��Q-���3���4���5���5���8���;���;��U=���=����!:%����%�	T
r
r�
��
�
�
��
��
���(�0�:�I�W�e
�
�v������������s��������
��<
���
�E
����L
�T
�[
�
��
+�+<
q�vI�L�I�P�\�i~1$�15�1C�1S�1a�n���&IV�.�V�3�9�*=C�S�el3M�3M�3M)4Mh4M6Wf6~�6��6�)7a7.�/�9�>��I�+��+:+�:z�:�*;�+<�c<�>��>��,1e�}��wer����Q�IQ�IQ�'IQ�9IQ�IIQ�WIQ�hIQ�zIS��IS��I��3�'(!�9!+x!��!��!�!��!r���!��!�$"�"��"��")	�we��
���}�m-�
�?"#�!�4�!�4�!�4�!�5�a%�8�&��%��$M�$�i=��=��8�� �F*� �V.� �f3� �y7!��<!��A!!��G)!��K2!��P<!��U�!�[�!�&`�!�Nf�!�xk�!��p�!��v�!��z�!��"��3	
"���	"�	v	("��	j"�3�	x"�3�	�"�cv
�"�c�
#��3&#��33#��G@#��GM#��3Z#�
�i#�
�
r#�v�#���#�$��#�,��#�5��#�=��#�F��#�_�	$�s$�~	%$��2$��V$�� d$��!r$��$"�$��)#�$��.$�$���%�$�	3&�$�	8'�$�$	�'�$�.	�(0%�7	=)�%�B	D+�%�L	�,�%�U	G-&�`	G-&�e	K-5&��	X.��	]/T&��	*0t&��	c0�
l2'�cv3�&��3'�cv3'�c.3%'�
*4-'�
.46'�%
G5>'�3
K5G'�A
G6O'�L
K6X'�W
v7�'�\
]8�'��	]9(�j
|:;(�cv;J(��	];�(�
l<�(�\
]=�(�
l>�(�cv?�C�?�C�@�C�A�C�B�C�C�C�D�C�E�C�F�C�G�C�H�(�c�I)�C�K)�C�L)�C�M)�C�N)�C�O)�C�P)�C�Q!)�C�R#)�C�SG)�C�Tz)�ovU�)��	]U�)�
lV�)�cvW�)��	]W�*�
lX�*�cvY�*�cvY�*��	]Yx+�
lZ�+��	][p,�
l\�,�cv]�,�c�]-���_-���_%-��*`--��.`6-��*a>-��.aG-�*bO-�.bX-�#*ct-�8�c|-�M�c�-��	]d.�eP.�b.et.�lf�.�
lg�.�c�h/��	]iX/�
ljp/��	]k�/�
ll�/�cvm�/��	]m0�
ln,0�cvo40��	]o�0�
lp�0�cvq�0�e
.q�0�e
�r�0��	]s,1�
lta1�cvut1�c.u�1��	]v�1�
lw�1�cvx�1�l
x�1�{
!x�1��	]y�1��
*z�1��
.z'2��
.{82�l|�2��}3�
l}3�c<~13��
��93��
��B3��
G�J3�K�T3��	]��3�
l��3�\
]�4�WC�04�
l�74�cv�?4�cv�z4��e��4��j��4��u��4����4�*��4�C��5�C���5�C���6�C���6�C���6�C��7�C��7�C���7�C���7�C��8�C��8�C��,8�C���8�C��9�C��:9�C�A9�C�P9�C�:����:�C"��:�C*��:�C2��:�C:��:�CB��:�CJ��:�CR��:�CZ��:�Cb��:�Cj��:�Cr��:�Cz��:�C���:�C��;�C��;�C��;�C��;�C�� ;�C��';�C��.;�C��5;�C��<;�C��C;�C��L;�����;�����=����L>����l>����>��4?�!�HB�2(��B�H4�jC�Y;��C�pD�PD��M��D��V��D��b�E���|E�cv��E��<��E��A��E���IF�cv�TF����I�����J�����K����\L�����L�����M�cv��M���O���P�����P�cv��P�����P����fQ����yQ����Q���R�cv�R�J��8R���|R�\��U�C��,U�C���U�C��(W����W�C���W�Cr�Z�C��(Z����Z���([��(��[�C��\�C��X\��0��\�C���\�C��p]�C��]�C�h^�Cz�^�cv�^��`�H`�2(�`�C�	za�cv
�a�MM
�a�cv�a��X�a�w�b�*}Tf����g����g���h���oh����h���i��� i���!�i���#�k���%�k���'Hl���)dl���+�l��-�l��/�l��1m��%3:m�cv5b�C3F5*b��3F6Ab��3F7Xb�4F8ob�P4F9�e��5C:�e�;6o<�e��6�=f��6�>#f��6�@Af�Q7ABm��BJm��!BSm��*C[m�.Cdm�2Dlm�H!Dum�^E}m�q!Etn�cvFDq��SF(s��gH�s��pI�t��yJ�u���K�v���L4x���MP{���N�{���O�|���P�}���Q�����R0����Sh����T����UԂ���V�����Wۃ���X����Y���XZ�m��9
[�m��9
\�m��9
]�m��9
^�m�:
_�m�:
`�m�:
a�m�(:
b�m�4:
cn�@:
dn�L:
e n�X:
f.n�d:
g<n�p:
hJn�|:
iXn��:
jfn��:
k:q��:ql=q��:�m@q�;�n�v�<o�v�S<p}��=.q$}��=�rB}��=s���>t�cu��
w��x��#{:��cv|D��-6|���A<|���MB|���YI}����I}����I}Ԅ��I}��;�}��F�}���Q�~��[�~���	]F��
l�M��cv�U��cv�s��;]�{��F������b�����l�����b�����l�����	]�x��
l����%����7��h��L����V��l�����������@����������<�����q��cv�y��c.�������������ӊ������|��*	�8��5	���B�8��Q�d��d������`��cv�h���,�p���2�y��������9�d���E���� N�$��J W�ܕ�c `����~ f���� m����� |�|��� m�4��� ��|��
!��D��������N!��ܠ�\!�����k!�����cv����c��ã��!��ˣ��!��ԣ��!b�ܣ�"l���"����"�����/"����:"��8���	]����E"]����W
v���R"v�,��d"	�ܧ�n"
	�����"	�����"X�ت�WC�\���""	�-��
l�4��cv�R��;��Z��F��c��l
b�k��{
l�t���b�|���l����Q�����[������	]�c��
l��`�cv��`�3��c�c�
��c��4	��c�
5���c��	*�d�l�`d�53��d�c�
��d��4	��d��5���d��	*�0e�l�xe�53��e�cv��e��5'�
f��55��i�cv��i��8���i�9���i�9���i�/9���r�cv�s��;R��r��;��=t�cv�]t��;R�Et��;���{�cv��{�s=X�}�cv�T}��=.�"#"#"#"#"#"#"#(#1#C#G#U#Z#Z#Z#Z#b#m#t#�#Z#Z#b#m#t#�#Z#Z#Z#Z#Z#Z#Z#Z#Z#Z#Z#U#Z#Z#�#�#�Z#�#�#�#�#�#�#U#"#"#"#��#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#�#"#"#"#"#"#�#�#$�#�#�#�#�#�#�#�#�#�#$$�#�#	$�#�#"#�#U#$$�#$!$"#"#�#�#�#$�#"#+$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$B$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$7$�#I$O$B$U$X$a$j$U#l$q$v$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$j$q$"#+$j$�$j$j$�$j$j$q$q$v$�$U#�$�
�$�$U#�$q$�$7$7$7$�$%7$7$7$�$�$%
%B$%�$*%7$7$j$U#l$7$7$7$7$7$q$q$v$�$�$�$7$6%G%�#M%a%l%a%x%�%�%�%�%�%�%�%�%�%�%�%�%�%&�%&�%&�%+&�%?&�%W&�%j&�%�&�%�&�%�&�%�&�%[3[3[3[3[35!5J6J65�5
7
7"#"#"#"#�&�&�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$G%�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�:�:&;)<)<�;)<)<)<�&'�$�$'�&'"#"#"#�#�#"#"#"#�#�#l$"#''l$"#%'�$%l$*'U#-'5'E'O'W'd'W'u'6%-'"#'+$+$C#q$C#q$C#����'�'��'�'��'�'�&�'�'u'l$$�'l$�!"#"#"#�#�#�#�#��$��$G%�'$%�#"#"#"#"#�#�#%35!5"#5�5"#55!55�55�;�;�;�;)<�;		 !!cv)c.1c.9c.AcvIc.Qc.Yc.ac.ic.qc.ycK�c.�cK�c.�c.�c.�c.�c.�cF	�c7�cv	F*	V.	f3	y7	�<	�Aq�*�	��*�	��*G��*�	q+
q&+
q�
	xk	�p	�v1cvqO+
	�3	��		v��]+%
cv�}+1
��+G�+9
�+?
�+v�+F
qcv	cvc.cv�3�3�G�G�3	3.	��+f
v$�,�5�=��
*F�_�s~	�y,k
����$�)�.��	8$	�!2,k
�:,p
�Z,
�}+p
�c�
9c�
�{,<A7	�
L	�U	G`	G�e	ve	KQ�,�
Q�,�
�cv!�	*���,��e
�
��,GYe	vicvy�-�
!cv��-�
�cvQ}+�
Q�-�
Q:,�
$cv$��
,�,	�e
,�,G��-3��-7$
 $.34
 4.34cvQ.�!l��-34�9
4��
<�,	<�,GDcvD.3D
 D.ZD+.`D7.fQ>.mD��
L�,	D�9
L�,G�e
�QF.�Tcvcv\cvT.3TL.	AW.*Ih.�
�Iu.�!
*Q;���.�d�.���.���.��
*�
*Y/*Q!/�:/�G/"	V/(yb/.y�.��x/.��/4��/;\�9
�/*��/���/��/J�:/���/���/���/Ul
 ��/Ut.3�0��cv�.0U�.0U�l
�|
 ��9
�cv���
��,	��,G�.3�
 �;
��0�q�0
��0*A�0
q.0U$�0a
$�9
$�0y
	�0�1
d
�
�1*�cv���
�%1y
�c.���
��,	Q�-3�
�
Q�,�
h1���
��,	)u.��cv)�.����
�1���1^1�1d��x��,	��.�!�1"��1(��,GD�0y
���
��y
�%1y
�
�
�cv�.3�L.	��1�Q�1�q�1
�W.*��1"q�0�i�1A�0�AW.*A�1"A'2*I�1"iL2Uia2�
 Q.0U�.3��0
Qp2*��2G��2`�
 )�1
)�2
���
�,	�,Ga�/
a�/
a�2�Q�1
Q�2�9�1
9�2���
�,	Y�0�Y�
GY:/�Y�2�A�1
A�2�A.��cvah1a�0�a�1��29
3	L.	$c\33)cv�c.Q83�,cy�by�4�4cv4�0a
�c��cv<�4�<�4�T�5�Tl�\�5�\l�T5Z\5Zd�4�d�5�y�7Klc�
l�4	�
*l
5���7*Qlktc�
|c�
|�4	|�5���7*�c�
�c�cy�7��c�cy�7Fy�7z�c�c�c�cA����7*��
?�cEA����7*�
8.� 8.�
*�
.A���H8vQ!/T�R8.�X8[A�d�m8G��7*��8.A����8q�7*�
?��8Gcwc�A��A����8.A����![��8G��8G�
*t�.�A��t?9	��.�A���?9	�c���!����
��,	��9
�G9�V9A���e9��9#Q.3��(��93��97�c�c��9c�cc�9c�H8.	�7*	
*	c�A��A��A��A��)
*)c�A�1
*1�9*1c�A�9�7*9
*9�9*9cA�A
*A�9*Ac�A�%AcvcvcvIcv��
�cvaR;�af;f$c,c4c<��
D�,	�
*%1y
�c.
�
�9
.3��
L�,	L�,GY
*��![TcIcv\cY�;GI�;.Q�,wQ!/��<#��<�dcQ.���<[Y�1"Q5	Q�<kY�<k
��<GY�<�l�<Gl�.	Y�<�t�<GY�<�t�.	��	*Y=.Y=|�<G|=	Y0=.Q9=*y�0YA=*Q!/���=���.�Q>.�D.>v�cD�9c�c�cvY4>*��9
�.3�<�
�
 qc�QB>���7*�]>*im>�	i�>*��- �
*�.3!�>:YcA�
 Y
.I�>*q�>*q�>GI�>KQ�0�	c�cv!\?��u?��c��$	�!c�1�	�9�	���	�9�?���?3�c��c7���
��.��c.Al
�Il
�Yc:Q@�Q+@�Qc.1\@AYc.Qx@*Y�@M�%1y
ac.�
�
	�@a	�@j��.�i�@Gi�.�	�@~	�@�	A�Y#AM	IA��
�
	�@���>�`A�|A���A�yc.��A�c��A*�vqv�c.i�Avi�A*�\@&��A3�	B3Q!/-�}+49�J���
��,		Bz�?9	�#B���.�����.��
*�CB���1"	�f���\��
��,	��,GaLB��sBd�.3�
 G/"��B��B*�c.��B.ac�ac `a� �i�B*��B*i�B.�c1�
C3�cv��B.iCL�1CT�.3qcl�UC�Q!/��lC���
�,	�uC���
�,	$��
,�,	��1��CG�C4
 ��C�!�C,��C�<�xD�,	��.�D�,G$DDL
 �dDX��1��c.�DI��0���-�Q83kQB>��c`��D4A�D�c.acv�cv�cv��9
TcvQ�D*T%1y
T��
T�29
��0a
T3	\��
d�,	����������������������.��.3�.��#.��#.K�.��#.k.�.#�.+�.;�.C�.s�.S�.c�.k-.�i.{W.�� .�N".��#c�\
ac��c��c�Ac�ac��c��S��c��#e�c��+��S��c��c�c�#c�Ac�Cc�ac�cc��c��c��c��c��c�c��c��c��c�	c� 	c�@	c�`	c��	c��	c��	c��	c�
c�!
c�A
c�a
c��
c��
c��
c��
c��c��c��c�c�!c�Ac�ac��c��c��c��c�A
c�a
c��
c��
c��
c�@c�`c��c��c��c��c��c�c� c�`c��c��c�c�!c�ac��c��c��c�A�	�a�	���	���	��c�c� c�@c�`c��c��c��c��c��c�`'c��'c��'c��'c��'c�(c� (c�@(c�`(c��(c��(c��(c��(c�)c� )c�@)c�`)c��)c��)c�`,c��,c��,c��,c��,c�-c� -c�@-c�`-c��-c��-c��-c��-c�.c� .c�@.c�`.c��.c��.c��.c��.c�/c� /c�@/c�`/c��/c� 1c�@1c�`1c��1c� 2c�@2c�`2c��2c��2c��2c��5c�6c�`8c��8c��8c��8c��8c�9c��:c�;c� ;c�@;c�`;c��;c��;c��;c�`<�	��<�	��<�	�=�	� =�	��=�	��=�	��=�	�/
 
P
x
�
�
�
�
�
.;Gt����@Prx}�����

$
E
L
l

�
�
�
�
�
4������/[|������5��9N��";&k~�����)R���)1I���>��#9Zt�^���BY^	# %$&*',+/,0-31729i�u��������8���m	�s	�~	��	��	��	J�	O�
��
��
�


�
�
�+
�T�
3�
�FM��s��=Z3k�v3�3�M�S�Y�YY#Y���|���!�(2	#�#<	��
���5�!5�5��5�			



 !G!H!J#I#K%L%z'{'})|)~++�-�-�/�1�1�3�3�5�7�7�9�9�;�;�=�=	?FAGAICHCJEKEMGLG�I�K�K�M�O�Q�S�U�U�W�W�Y�Y�[�[�]�]�_�_�a�a�c�c�e�e�g�g�i�i�k�k�m�m�o�q�s�u
*
|
�
&?S|���`i�����
�
�
 )o���&kt�� X������_s����
*������/ARn��(1���Ya���
����3K!.Xu[jy���������#2;O�09�&��	M	/ Ix�	�R��4�D�
E�V9EP�pE�O�E��E�JF��LF$#/.0 3"4"5#6#7#8#b�4b�4d�4d�5C
7�B�
B�
]|_|}Y}}���]�a����]���+]�]+}���_�}���_�}����]�
_�
]�_�����
��
����}�}�<Module>MySql.Data.Entity.dllEFMySqlCommandMySql.Data.EntityEFMySqlDataReaderSqlFragmentInputFragmentTableFragmentJoinFragmentSqlFragmentVisitorReplaceTableNameVisitorNegatableFragmentBinaryFragmentInFragmentCaseFragmentColumnFragmentExistsFragmentFunctionFragmentIsNullFragmentLikeFragmentListFragmentLiteralFragmentPropertyFragmentSortFragmentUnionFragmentSqlGeneratorDeleteGeneratorFunctionGeneratorFunctionProcessorInsertGeneratorScopeOpTypeSelectGeneratorUpdateGeneratorMySqlConnectionFactoryMySqlMigrationCodeGeneratorMySqlMigrationSqlGeneratorOpDispatcherResourcesMySql.Data.Entity.PropertiesDeleteStatementInsertStatementMetadataMySqlProviderManifestMySql.Data.MySqlClientMySqlScriptServicesMySqlProviderServicesSelectStatementUpdateStatementSystem.DataSystem.Data.CommonDbCommandmscorlibSystemICloneableDbDataReaderObjectSystem.Data.EntitySystem.Data.Common.CommandTreesDbExpressionVisitor`1EnumEntityFrameworkSystem.Data.Entity.InfrastructureIDbConnectionFactorySystem.Data.Entity.Migrations.DesignCSharpMigrationCodeGeneratorSystem.Data.Entity.Migrations.SqlMigrationSqlGeneratorMulticastDelegateDbXmlEnabledProviderManifestDbProviderServicesdesignTimeVisibleDbConnectionconnectionMySql.DataMySqlCommandcommandSystem.Data.Metadata.EdmPrimitiveTypeColumnTypesget_CommandTextset_CommandTextget_CommandTimeoutset_CommandTimeoutCommandTypeget_CommandTypeset_CommandTypeget_DesignTimeVisibleset_DesignTimeVisibleget_DbConnectionset_DbConnectionDbTransactionget_DbTransactionset_DbTransactionDbParameterCollectionget_DbParameterCollectionUpdateRowSourceget_UpdatedRowSourceset_UpdatedRowSourceCancelDbParameterCreateDbParameterCommandBehaviorExecuteDbDataReaderExecuteNonQueryExecuteScalarPrepareCloneSystem.Threading.TasksTaskPrepareAsyncSystem.ThreadingCancellationToken.ctorCommandTextCommandTimeoutDesignTimeVisibleUpdatedRowSourceMySqlDataReaderreadertypesget_Depthget_FieldCountget_HasRowsget_IsClosedget_RecordsAffectedget_ItemCloseGetBooleanGetByteGetBytesGetCharGetCharsGetDataTypeNameDateTimeGetDateTimeDecimalGetDecimalGetDoubleSystem.CollectionsIEnumeratorGetEnumeratorTypeGetFieldTypeGetFloatGuidGetGuidGetInt16GetInt32GetInt64GetNameGetOrdinalDataTableGetSchemaTableGetStringGetValueChangeTypeGetValuesIsDBNullNextResultReadDisposeDepthFieldCountHasRowsIsClosedRecordsAffectedItemquoteCharsQuoteIdentifierSystem.TextStringBuilderWriteSqlToStringIEnumerableWriteListAcceptLeftRightget_Nameset_Nameget_IsWrappedset_IsWrappedget_Scopedset_ScopedWrapWriteInnerSqlGetColumnFromProperties<Name>k__BackingField<IsWrapped>k__BackingField<Scoped>k__BackingFieldNameIsWrappedScopedSchemaTableDefiningQueryTypeUsageSystem.Collections.GenericList`1ColumnsConditionJoinTypeVisit_oldTableName_newTableNameIsNegatedNegateOperatorWrapLeftWrapRightInListArgumentWhenThenElseget_Literalset_Literalget_TableNameset_TableNameget_ColumnNameset_ColumnNameget_ColumnAliasset_ColumnAliasget_ActualColumnNameget_PropertyFragmentset_PropertyFragmentPushInputEquals<Literal>k__BackingField<TableName>k__BackingField<ColumnName>k__BackingField<ColumnAlias>k__BackingField<PropertyFragment>k__BackingFieldLiteralTableNameColumnNameColumnAliasActualColumnNameDistinctQuotedPatternEscapeFragmentsAppendget_Propertiesset_Propertiesget_LastPropertyTrimPushProperty<Properties>k__BackingFieldPropertiesLastPropertyget_Columnset_Columnget_Ascendingset_Ascending<Column>k__BackingField<Ascending>k__BackingFieldColumnAscendingHasDifferentNameForColumntabsparameterCountscopepropertyLevelDictionary`2EdmMembervaluesStack`1OpsGetTopOpMySqlParameterget_Parametersset_ParametersDbCommandTreeGenerateSQLCreateUniqueParameterNameDbVariableReferenceExpressionDbPropertyExpressionDbScanExpressionDbParameterReferenceExpressionDbNotExpressionDbIsEmptyExpressionDbFunctionExpressionDbConstantExpressionDbComparisonExpressionDbAndExpressionDbOrExpressionDbCastExpressionDbLikeExpressionDbCaseExpressionDbIsNullExpressionDbIntersectExpressionDbNullExpressionDbArithmeticExpressionDbNewInstanceExpressionVisitNewInstanceExpressionDbTreatExpressionDbRelationshipNavigationExpressionDbRefExpressionDbOfTypeExpressionDbIsOfExpressionDbRefKeyExpressionDbEntityRefExpressionDbExceptExpressionDbExpressionDbDerefExpressionDbApplyExpressionDbUnionAllExpressionDbSortExpressionDbSkipExpressionDbQuantifierExpressionDbProjectExpressionDbLimitExpressionDbJoinExpressionDbGroupByExpressionDbFilterExpressionDbElementExpressionDbDistinctExpressionDbCrossJoinExpressionTryFusingSelectFuseSelectWithInnerSelectCanFuseSelectVisitAndReplaceTableNameVisitInputExpressionDbModificationCommandTreeGenerateReturningSqlTryPromoteToLikeVisitBinaryExpressionTryToPromoteToInTryMergeTwoInFragmentsTryMergeTwoBinaryFragmentsTryMergeBinaryFragmentAndInFragmentGetBinaryFragmentPartsForInShouldWrapExpression<Parameters>k__BackingFieldParameters<CommandType>k__BackingFieldbitwiseFunctionsdateFunctionsstringFunctionsmathFunctionsgeoFunctionscallingGenerator.cctorGenerateUserDefinedFunctionBitwiseFunctionGenericFunctionHandleFunctionRoundIsValidMySqlDataTypescopeTableAddRemoveGetFragmentFindInputFromPropertiesvalue__JoinUnionselectStatementsget_CurrentSelectTryFlatteningGroupByDbFunctionAggregateHandleFunctionDbExpressionBindingDbExpressionKindHandleJoinExpressionWrapIfNotCompatibleWrapJoinInputIfNecessaryVisitInputExpressionEnsureSelectCurrentSelect_onReturningSelect_columnsVisitedCreateConnectionIEnumerable`1KeyValuePair`2System.Data.Entity.Migrations.ModelCreateTableOperationAddForeignKeyOperation_foreignKeysCreateIndexOperation_tableIndexesTrimSchemaPrefixPrepareSqlMigrationOperationReorderOperationsScaffoldedMigrationAddColumnOperationSystem.Data.Entity.Migrations.UtilitiesIndentedTextWriterGenerateInlineAddPrimaryKeyOperationAlterColumnOperationDropColumnOperationDropForeignKeyOperationDropIndexOperationDropPrimaryKeyOperationDropTableOperationMoveTableOperationRenameColumnOperationRenameTableOperationMigrationStatement_specialStmtsDbProviderManifest_providerManifest_dispatcherget__generatedTablesset__generatedTablesget__tableNameset__tableName_providerManifestTokenget_autoIncrementColsset_autoIncrementColsget_primaryKeyColsset_primaryKeyCols_pkOperationsColumnModelDeleteHistoryOperationInsertHistoryOperationSqlOperation<_generatedTables>k__BackingField<_tableName>k__BackingField<autoIncrementCols>k__BackingField<primaryKeyCols>k__BackingField_generatedTables_tableNameautoIncrementColsprimaryKeyColsInvokeIAsyncResultAsyncCallbackBeginInvokeEndInvokeSystem.ResourcesResourceManagerresourceManSystem.GlobalizationCultureInforesourceCultureget_ResourceManagerget_Cultureset_Cultureget_ConnectionMustBeOfTypeMySqlConnectionget_NoStoreTypeForEdmTypeget_TypeNotSupportedget_WrongFunctionResultTypeCultureConnectionMustBeOfTypeMySqlConnectionNoStoreTypeForEdmTypeTypeNotSupportedWrongFunctionResultTypeget_Targetset_Targetget_Whereset_Where<Target>k__BackingField<Where>k__BackingFieldTargetWhereget_Setsset_Setsget_Valuesset_ValuesReturningSelect<Sets>k__BackingField<Values>k__BackingFieldSetsValuesPrimitiveTypeKindGetNumericLiteralIsNumericTypeDbTypeGetDbTypeNormalizeValueParameterDirectionParameterModeModeToDirectionIsComparisonOperatorGetOperatorIList`1EdmPropertyEdmTypeGetPropertiesMetadataItemTryGetValueMetadataPropertyTCHAR_MAXLENVARCHAR_MAXLENMEDIUMTEXT_MAXLENLONGTEXT_MAXLENBINARY_MAXLENVARBINARY_MAXLENMEDIUMBLOB_MAXLENLONGBLOB_MAXLENDEFAULT_DECIMAL_PRECISIONDEFAULT_DECIMAL_SCALEmanifestTokenSystem.XmlXmlReaderGetManifestGetDbInformationGetStoreSchemaMappingGetStoreSchemaDescriptionGetEdmTypeGetStoreTypeGetXmlResourceGetMappingResourceGetResourceAsStringEntitySetGetTableCreateScriptInstanceVersionget_serverVersionset_serverVersionDbCommandDefinitionCreateDbCommandDefinitionSetExpectedTypesDbQueryCommandTreeSetQueryExpectedTypesDbFunctionCommandTreeSetFunctionExpectedTypesGetDbProviderManifestTokenGetDbProviderManifestNullable`1StoreItemCollectionDbCreateDatabaseDbDatabaseExistsDbDeleteDatabaseDbCreateDatabaseScriptAssociationTypeGetAssociationCreateScript_pluralizedNames_guidIdentityColumnsGetColumnTypeGetFacetStringIsStringType<serverVersion>k__BackingFieldserverVersioncolumnHashhasRenamedColumnsgeneratorFromget_Columnsset_ColumnsLimitSkipget_GroupByset_GroupByget_OrderByset_OrderByIsDistinctAddGroupByAddOrderByWriteOrderByAddDefaultColumnsAddColumnGetDefaultColumnsForFragmentGetDefaultColumnsForTableMakeColumnNameUniqueIsCompatible<Columns>k__BackingField<GroupBy>k__BackingField<OrderBy>k__BackingFieldGroupByOrderByvaluebehaviorcancellationTokencmdwrappedReadernameordinaldataOffsetbufferbufferOffsetlengthsourceValuetargetTypedisposingidsqllistvisitorpropertiesfoldTableNamenewTableNametableNamecolumnNameinputNameobjsliteralpropertycolumnascendingcommandTreeexpressionselectouterinnersfoldTablenewTableetypetreereturningleftrightopbfinfLeftinfRightinflfSystem.Runtime.InteropServicesOutAttributecfcallerfuncsdataTypefragmentinputfaargjoinTypejoinConditionexpressionKindisRightPartconnectionStringtableremoveNonMySqlCharsoperationsmigrationIdsourceModeltargetModelnamespaceclassNameaddColumnOperationwriteraddForeignKeyOperationaddPrimaryKeyOperationalterColumnOperationcreateIndexOperationcreateTableOperationdropColumnOperationdropForeignKeyOperationdropIndexOperationdropPrimaryKeyOperationdropTableOperationmoveTableOperationrenameColumnOperationrenameTableOperationmigrationOperationsproviderManifestTokenobjectmethodcallbackresulttypeUsagemodemiversioninformationTypestoreTypeedmTyperesourceNameresourceBaseNameentitySetproviderManifestcommandTimeoutstoreItemCollectionaIsKeyMemberbaseNameSystem.Runtime.VersioningTargetFrameworkAttributeSystem.ReflectionAssemblyTitleAttributeAssemblyDescriptionAttributeSystem.SecurityAllowPartiallyTrustedCallersAttributeAssemblyConfigurationAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyTrademarkAttributeAssemblyCultureAttributeComVisibleAttributeGuidAttributeAssemblyDelaySignAttributeAssemblyKeyNameAttributeSystem.Runtime.CompilerServicesInternalsVisibleToAttributeAssemblyVersionAttributeAssemblyInformationalVersionAttributeNeutralResourcesLanguageAttributeSystem.DiagnosticsDebuggableAttributeDebuggingModesCompilationRelaxationsAttributeRuntimeCompatibilityAttributeMySqlConnectionset_ConnectionMySqlConnectionStringBuilderget_Settingsget_UseDefaultCommandTimeoutForEFget_DefaultCommandTimeoutMySqlTransactionget_Transactionset_TransactionMySqlParameterCollectionExecuteReaderget_NoneTaskCompletionSource`1op_Equalityget_IsCancellationRequestedSetResultExceptionSetExceptionSetCanceledTask`1get_TaskDefaultMemberAttributeGCSuppressFinalizeBooleanget_ClrEquivalentTypeDBNullGetTypeop_InequalityRuntimeTypeHandleGetTypeFromHandleDateTimeOffsetget_InvariantCultureConvertIFormatProviderStringIndexOfAnyFormatget_CurrentMoveNextIDisposableChar<PrivateImplementationDetails>{BAE27796-4AAC-4706-B8A3-98600D5DA5A5}CompilerGeneratedAttributeValueType__StaticArrayInitTypeSize=6$$method0x60001bb-1RuntimeHelpersArrayRuntimeFieldHandleInitializeArrayAppendFormatNotImplementedExceptionReplaceEnumeratorget_Lengthset_Lengthget_CountIsNullOrEmptyLastIndexOfRemoveRangeInsertCompareEmptyPeekInt32get_VariableNameget_Instanceget_PropertyEntitySetBaseReadOnlyMetadataCollection`1MetadataPropertyget_MetadataPropertiesTryGetValueget_ValueEntityContainerget_EntityContainerget_ParameterNameConcatDbUnaryExpressionget_Argumentget_ResultTypeget_EdmTypeget_PrimitiveTypeKindset_ParameterNameset_DbTypeset_ValueDbBinaryExpressionget_Leftget_Rightget_ExpressionKindget_Patternget_Escapeget_Whenget_ThenICollection`1get_ElseNotSupportedExceptionget_ArgumentsRowTypeSystem.Collections.ObjectModelReadOnlyCollection`1InvalidOperationExceptionget_ExpressionEdmFunctionget_Functionget_FullNameToInt32AddRangeContainsDbDeleteCommandTreeget_Predicateget_EdmFunctionget_NamespaceNameContainsKeyIEnumerator`1DbInsertCommandTreeDbModificationClauseget_SetClausesDbSetClauseget_ReturningEntityTypeBaseget_ElementTypeget_KeyMembersget_TypeUsageget_BaseTypeget_QueryCompareOrdinalget_Inputget_VariableTypeDbGroupExpressionBindingget_GroupVariableNameCollectionTypeget_KeysDbAggregateget_AggregatesToUpperInvariantget_Distinctget_Inputsget_Applyget_JoinConditionget_ProjectionDbSortClauseget_SortOrderget_LimitDbUpdateCommandTreePushPop<>c__DisplayClass2<Visit>b__0pPredicate`1FindStartsWith<ReorderOperations>b__0operationFunc`2CS$<>9__CachedAnonymousMethodDelegate5<ReorderOperations>b__1CS$<>9__CachedAnonymousMethodDelegate6<ReorderOperations>b__2CS$<>9__CachedAnonymousMethodDelegate7<ReorderOperations>b__3CS$<>9__CachedAnonymousMethodDelegate8<ReorderOperations>b__4CS$<>9__CachedAnonymousMethodDelegate9System.CoreSystem.LinqEnumerableCount<>f__AnonymousType0`2<tbl>j__TPar<fk>j__TPar<tbl>i__Fieldget_tbl<fk>i__Fieldget_fkGetHashCodetblfkDebuggerBrowsableAttributeDebuggerBrowsableStateDebuggerHiddenAttributeEqualityComparer`1get_Default<>f__AnonymousType1`2<idx>j__TPar<idx>i__Fieldget_idxidx<>c__DisplayClass1a<Generate>b__c<Generate>b__10<Generate>b__dFunc`3CS$<>9__CachedAnonymousMethodDelegate14<Generate>b__e<>h__TransparentIdentifieraCS$<>9__CachedAnonymousMethodDelegate15<Generate>b__fCS$<>9__CachedAnonymousMethodDelegate16<Generate>b__11CS$<>9__CachedAnonymousMethodDelegate17<Generate>b__12<>h__TransparentIdentifierbCS$<>9__CachedAnonymousMethodDelegate18<Generate>b__13CS$<>9__CachedAnonymousMethodDelegate19OfTypeForeignKeyOperationget_DependentTableStringComparisonIndexOperationget_TableSelectManySelectToListget_PrincipalTableset_PrincipalTableset_DependentTableSystem.IOTextWriterWriteLineWriteget_DependentColumnsget_CascadeDeletePrimaryKeyOperationset_Tableget_Inverseget_IsDestructiveChangeget_IsUniqueget_HasDefaultName<>c__DisplayClass24<>4__this<Generate>b__1c<Generate>b__1d<Generate>b__1e<Generate>b__1fget_Keyget_PrimaryKeyset_PrimaryKeyget_InnerWriterStringWriterGetStringBuilderget_Indentset_IndentAction`1ForEachget_NewSchemaget_NewName<.ctor>b__0<.ctor>b__1<.ctor>b__2<.ctor>b__3<.ctor>b__4<.ctor>b__5<.ctor>b__6<.ctor>b__7<.ctor>b__8<.ctor>b__9<.ctor>b__a<.ctor>b__b<.ctor>b__c<.ctor>b__d<.ctor>b__e<.ctor>b__f<.ctor>b__10<Generate>b__22colsCS$<>9__CachedAnonymousMethodDelegate25<Generate>b__23CS$<>9__CachedAnonymousMethodDelegate26<Generate>b__24pksCS$<>9__CachedAnonymousMethodDelegate27GetProviderServicesGetProviderManifestMemberInfo<>c__DisplayClass2a<Generate>b__28<Generate>b__29pkOpecolget_IsIdentityset_Sql<>c__DisplayClass2f<Generate>b__2d<Generate>b__2eAppendLine<Generate>b__33cCS$<>9__CachedAnonymousMethodDelegate35<Generate>b__34CS$<>9__CachedAnonymousMethodDelegate36NewGuidget_PrincipalColumnsEndsWithget_ClrTypeByteget_IsArrayget_MaxLengthget_HasValueget_Precisionget_Scaleset_StoreTypeget_IsNullableGetValueOrDefaultget_TypeToLowerget_DefaultValueSql<>c__DisplayClass3asortOrder<Generate>b__39IDictionary`2get_AnonymousArguments<>c__DisplayClass44keyFields<Generate>b__41<Generate>b__3e<Generate>b__3f<Generate>b__40CS$<>9__CachedAnonymousMethodDelegate43Clearget_StoreTypeSubstringHistoryOperationget_MigrationIdget_ModelBitConverterget_ProductVersion<Generate>b__4aCS$<>9__CachedAnonymousMethodDelegate4bTryParseget_Sqlget_SuppressTransactionset_SuppressTransactionSystem.CodeDom.CompilerGeneratedCodeAttributeDebuggerNonUserCodeAttributeReferenceEqualsAssemblyget_AssemblySystem.ComponentModelEditorBrowsableAttributeEditorBrowsableStateDoubleSingleget_DateTimeget_Year$$method0x6000178-1EntityTypeComplexTypeStoreSchemaDefinitionStoreSchemaMappingProviderIncompatibleExceptionParseArgumentNullExceptionToLowerInvariantget_StoreTypeNameToEdmPrimitiveTypeArgumentExceptionCreateBinaryTypeUsageFacetget_Facetsget_IsUnboundedCreateStringTypeUsageCreateDefaultTypeUsageget_StoreTypeNameToStorePrimitiveTypeCreateDecimalTypeUsageGetExecutingAssemblyStreamGetManifestResourceStreamCreateStringReaderTextReaderStreamReaderReadToEndOpenget_ServerVersionMySql.Data.CommonDBVersionget_Majorget_MinorCreateParameterset_DirectionFunctionParameterget_ModeCreateCommandDefinitionStructuralTypeget_MembersBuiltInTypeKindget_BuiltInTypeKindDbConnectionStringBuilderget_ConnectionStringset_Databaseget_Databaseset_ConnectionStringMySqlScriptExecuteGetSchemaDataRowCollectionget_RowsInternalDataCollectionBaseget_NowItemCollectionGetItemsget_BaseEntitySetsAssociationSetget_IsForeignKeyReferentialConstraintget_ReferentialConstraintsget_ToPropertiesget_DeclaringTypeget_FromPropertiesAssociationEndMemberget_AssociationEndMembersRelationshipEndMemberOperationActionget_DeleteBehaviorEnvironmentget_NewLineop_GreaterThanOrEqualToByteStoreGeneratedPatternMySqlExceptionToUpperMySql.Data.Entity.Properties.Resources.resourcesMySql.Data.Entity.Properties.SchemaMapping.mslMySql.Data.Entity.Properties.SchemaDefinition-5.0.ssdlMySql.Data.Entity.Properties.SchemaDefinition-5.5.ssdlMySql.Data.Entity.Properties.SchemaDefinition-5.1.ssdlMySql.Data.Entity.Properties.SchemaDefinition-5.7.ssdlMySql.Data.Entity.Properties.SchemaDefinition-5.6.ssdlMySql.Data.Entity.Properties.ProviderManifest.xml`{0}`

, () AS {0}({0}){0} {0} 	 ON =NOT (	 !=  NOT 
 IN ( , )	CASE WHEN () THEN ()  ELSE (END	{0}.	NOT EXISTS({0}({1}DISTINCT  IS {0} NULLNOT
 LIKE  ESCAPE 	 {0}	DESCASC UNION ALL ! UNION DISTINCT 
@gp{0}DefiningQuery
SchemaTable@01ANDOR	NULL-(/-%*+Edm.IndexOf
'{0}%''''Edm.Reverse
'%{0}'>'%{0}%'Edm.RightEdm.Length
target)CommandTextAttribute5StoreFunctionNameAttributeBitwiseAnd&BitwiseNot!BitwiseOr|BitwiseXor^CurrentDateTimeNOW()	YearYEAR({0})MonthMONTH({0})DayDAY({0})	HourHOUR({0})
MinuteMINUTE({0})
SecondSECOND({0})
Concat!CONCAT({0}, {1})IndexOf!LOCATE({0}, {1})	LeftLEFT({0}, {1})
LengthLENGTH({0})LTrimLTRIM({0})Replace-REPLACE({0}, {1}, {2})ReverseREVERSE({0})RightRIGHT({0}, {1})RTrimRTRIM({0})Substring+SUBSTR({0}, {1}, {2})ToLowerLOWER({0})ToUpperUPPER({0})	TrimTRIM({0})AbsABS({0})CeilingCEILING({0})FloorFLOOR({0})RoundROUND!SpatialDimensionDimension({0})SpatialEnvelopeEnvelope({0})!IsSimpleGeometryIsSimple({0})SpatialTypeName#GeometryType({0})%CoordinateSystemIdSRID({0})PointPOINT({0}, {1})XCoordinate
X({0})YCoordinate
Y({0})!GeometryFromText#GeomFromText({0})SpatialContains+MBRContains({0}, {1})
AsTextAsText({0})SpatialBuffer!Buffer({0}, {1})#SpatialDifference)Difference({0}, {1})'SpatialIntersection+Intersection({0},{1})Distance��GLength(LineString(GEOMFROMWKB(ASBINARY({0})), GEOMFROMWKB(ASBINARY({1}))))!BuiltInAttribute1NiladicFunctionAttributeQNiladic functions cannot have parameters {0} ({1})! row_count() > 0!last_insert_id()	GuidKANY(SELECT guid FROM tmpIdentity_{0}) AND `{0}`=MySql.ubigintC0C1	K{0}EdmBigCountCOUNTX+ row_count() > 0 and 	dbo.[]{ tbl = , fk =  }, idx = .ForeignKey("", -, cascadeDelete: true).Index(, unique: true, name: {0};%AddColumnOperation-AddForeignKeyOperation-AddPrimaryKeyOperation)AlterColumnOperation)CreateIndexOperation)CreateTableOperation'DropColumnOperation/DropForeignKeyOperation%DropIndexOperation/DropPrimaryKeyOperation%DropTableOperation%MoveTableOperation+RenameColumnOperation)RenameTableOperationSqlOperation-DeleteHistoryOperation-InsertHistoryOperationUalter table `{0}` add column `{1}` {2} {3} unique Galter table `{0}` drop column `{1}`alter table `` modify `` �sset @columnType := (select case lower(IS_NULLABLE) when 'no' then CONCAT(column_type, ' not null ')  when 'yes' then column_type end from information_schema.columns where table_name = '+' and column_name = '');[set @sqlstmt := (select concat('alter table `` change `` `)` ' , @columnType));7prepare stmt from @sqlstmt;execute stmt;1deallocate prepare stmt;`FK_%` add constraint ``  foreign key references `	` ( K on update cascade on delete cascade 
({0}) ( {0}, {1} ) datetimetimestamp	time; DEFAULT CURRENT_TIMESTAMP{0}( {0} not null  default ''  unsignedtinyintsmallintmediumintint
bigint! auto_increment  default {0}Qalter table `{0}` drop foreign key `{1}`CREATE UNIQUE 	SortAscending/index  `{0}` on `{1}` (	TypeBTree	HASHBTREE
using Ealter table `{0}` drop index `{1}` KEY (`{0}`),create table `` (CHAR(36) BINARYSDROP TRIGGER IF EXISTS `{0}_IdentityTgr`;oCREATE TRIGGER `{0}_IdentityTgr` BEFORE INSERT ON `{0}`%FOR EACH ROW BEGIN+SET NEW.{0} = UUID();_DROP TEMPORARY TABLE IF EXISTS tmpIdentity_{0};��CREATE TEMPORARY TABLE tmpIdentity_{0} (guid CHAR(36))ENGINE=MEMORY;YINSERT INTO tmpIdentity_{0} VALUES(New.{1});primary key ( A) engine=InnoDb auto_increment=0drop table `Wdelete from `{0}` where MigrationId = '{1}'insert into `[` (`migrationId`, `model`, `productVersion`) ; values ( '{0}', {1}, '{2}') 0x%` add primary key  `'DeleteAutoIncrement;  alter table `'` drop primary key 7rename table `{0}` to `{1}`MMySql.Data.Entity.Properties.ResourcesKConnectionMustBeOfTypeMySqlConnection+NoStoreTypeForEdmType!TypeNotSupported/WrongFunctionResultTypeDELETE FROM  WHERE 9SET SESSION sql_mode='ANSI';INSERT INTO  VALUES ;

R;Unknown PrimitiveTypeKind {0}<<=>=!=LEFT OUTER JOININNER JOINCROSS JOINOUTER JOIN;expression kind not supportedcMySql.Data.Entity.Properties.ProviderManifest.xmlsThe provider returned null for the informationType '{0}'.#SchemaMapping.mslaYour version of MySQL is not currently supported3SchemaDefinition-5.0.ssdl3SchemaDefinition-5.1.ssdl3SchemaDefinition-5.5.ssdl3SchemaDefinition-5.6.ssdl3SchemaDefinition-5.7.ssdlstoreTypeqThe underlying provider does not support the type '{0}'.MaxLengthedmType	boolutinyint	guid
doublefloatPrecisionScaledecimalFixedLengthtinyblob	blobmediumbloblongblobUnicode	charncharMaxvarcharnvarcharmediumtextlongtextAMySql.Data.Entity.Properties.{0}".5.5commandTreeuVersions of MySQL prior to 5.0 are not currently supported5.05.15.65.7connectionKCREATE DATABASE `{0}`; USE `{0}`; {1}Databases;DROP DATABASE IF EXISTS `{0}`-- MySql script-- Created on IALTER TABLE `{0}` ADD CONSTRAINT {1}	 FOREIGN KEY (EALTER TABLE `{0}` ADD KEY (`{1}`);
{0}{1}#	REFERENCES {0} (; ON DELETE {0} ON UPDATE {1};NO ACTIONCREATE TABLE 
`{0}`('{0}{1}	`{2}` {3}{4});GALTER TABLE `{0}` ADD PRIMARY KEY (DELIMITER ||WCREATE TRIGGER `{0}` BEFORE INSERT ON `{1}`_IdentityTgr'	FOR EACH ROW BEGINc		DROP TEMPORARY TABLE IF EXISTS tmpIdentity_{0};��		CREATE TEMPORARY TABLE tmpIdentity_{0} (guid CHAR(36))ENGINE=MEMORY;1		SET @var_{0} = UUID();_		INSERT INTO tmpIdentity_{0} VALUES(@var_{1});3		SET new.{0} = @var_{0};/		SET new.{0} = UUID();	END ||DELIMITER ;u UNSIGNED
String	text
 ({0})DecimalDateTime( {0} ) Nullable NOT NULL+StoreGeneratedPatternInt- AUTO_INCREMENT UNIQUE;Invalid identity column type.
SELECT DISTINCT 

FROM 

 WHERE 

 GROUP BY  LIMIT 	{0},)18446744073709551615

 ORDER BY UPDATE  SET �w⺬JG���`
]���z\V4�5�hȉi�M9=     A A   5 5 E E I M M  Q 
U  Y Y](((A((5(E(I(Ma a    	 

 	 

  e i 
 m q  u   
  y q ((  } ��}   t 8T����8  D 4 < H @ 0 , 8 P ��P8��  T T 8 T((T ��	 ����(��  8t������x x
 ���� ���� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��	 ���� �� �� �� �� �� � � �	 �
 � � � � �! �% �) �� �- �1 �5 �9 �= �A �E  ������ ��  �
�� ���I�
 H�
�
 �
�
 , 000 0,, 0,0 ,P8 �
	����
(����A��`	 ��` ���� �� 	��    Tx	���� �� 	 �M �Q�Q�U�
 �����U  ���
��(��	���� 5�Y�]�a�e�Y�]�a�i  �Y�m�Y�m �q�Y�m	 �u�y	 �e�y	 �}�y	 ���y	 �i�y	 �a�y	 ���y	 ���y	 ���y	 ���y	 ���y	 ���y	 ���y	 ���y	������
����	�Y�} �Y���Y�m ���u ���� ���� ���� ���e �� ���� ���i ���� ���a ���� ���� ���� ���} ���� ���� ���� ����  ���m ���m�� ������������������ 	 ��
 ����(	(�����������������U
������	�����������?���
�� �� �� ������ ���� �� �� ������ �� �� � 5 �� 5��	 5��	 �	 �
 �� �� �� ����(��	��8 `	 ��8
 ��8	 ��X
 ��X X 8t ��8 ��8 �U��X	(��8	(��X �a��$��$RSA1�s��qu,x)A&�JA��C�q�_��<�_e����Z�@gюz��F}zQ��$�q�(�����X
�	��i$��[���J�NP�c��� O�\���N�ec�2n���8b1A��
l�k>� �m �q 	�m �u �u �y aU]�}]]  ��	 ���}��	Item qqqq��  e	q�� } }
m����	���� }8 ��P	 ����P  }P��P �� }������   T��T�� }��x����T �
0
 ��
T8��\ ��
 ��������  ������(<l �� �� �� �� 	���� �UH
 ���
���
���
4DL�U
 ����������8
��8����X��X*,XX������X��X
����8$	�� �Q��L � ��H����������������H,	00,,0,
 �Y8P8P0 8P�U��� ���� 

�Y�
	 �	�	�
@L�
�	�
 }
 ����Y��	�
����)
�
���Q���
���	��	� �
 ��������	 ���� ��L�������������\T����
���
�U
��������@8@ �!
 ���)���)���)+�!�����%���
8�)�M8�	�
@
 ���Q���Q��8!�Q�Q����8��8��8����8��
 ���-�Y�-�	�-���-�	�-
\�����1����
���	�����, ���5�� �5���5�����m
�9�m	�9�m�Y�Y�9
�m�Y���m
���m (( �E	���M	�M �M��	����	�Y�m
 �Y�e�a
 �Y�i�a���a�e�a�e�Q�a�e���a�e���a�e�9���a�e�]�a�e���a�e�9���a�e�]�a�e���a�i�a�i�Q�a�i���a�i���a�i�9���a�i�]�a�i���a�i�9���a�i�]�a�i
�Y��
�e���a�e �Y�]�a�e
�i���a�i�]�a�i
�a�9�a�Y�e�Q�a�e���a�e*�Y�Y�9�Y�Q
�a�e���a�e�9���a�e
���a�e�9���a�e�]�a�e�Y�Y�9
���a�e�]�a�e���Y
�]�a�e�9�a�Y�i�Q�a�i���a�i
�a�i���a�i�9���a�i
���a�i�9���a�i�]�a�i
���a�i�]�a�i
�]�a�i�� �� ���u �� �Y�y �m ����	 �� �����a�y �]�a�e �]�a�e �]�a�i �]�a�i 
 �����Y���	������ �} �} �a } }�9�]�a�e�m�]�a�e���]�a�e
 �m�9�]�a�i�m�]�a�i���]�a�iX	�a���i�m�]�a�e�9�]�a�e�m�]�a�i�9�]�a�i���	�� ������ ��������	����5�����������������������������������u�u�9�u�u�����9�����}�}�9�}�}15
�u�9�u�u
�u�u
���9����
����
�}�9�}�}
�}�}�Y�m�	�m����&�m�����m�����	�m�����u �}�9	�9�}����������}����}���9u�9

�Y}��u �� �� ��
�Y_��}��������������}��	 �y�y�Y
}�������m	�9��
������ 0
}��������}�������m���	��  }	}}����	 ������}��������@3System.Resources.Tools.StronglyTypedResourceBuilder4.0.0.0 �� ���� �� �� �� ��	��
i=�� e	 	=��e�������� ��
��
 ��=��=��=
 ��������
��=	��=����=��	��=	��="=�������������� ���������������� ����������	�������m�� �Y�]���Y�]���	�]��	�]�� ��
 �������� �� ���� ��0
`��]��Q��Q�	�]�����������)������= ���%��������=
�q�m��
 �m�m�m�q�� y ���m�q�my �m�m�q�m9e
0��
�������	��
 ����
���Y���	��
���Y���	�� �
%}�������	���	���	��
 �������� ���������
 �������� ��/}}��������������u������ �� }(��}������������}��������������8��88��8'��8��8��888��8��8�Y���	����8��8�	��8��8G.NETFramework,Version=v4.0TFrameworkDisplayName.NET Framework 4MySql.Data.EntityOraclePKCopyright © 2008, 2013, Oracle and/or its affiliates. All rights reserved.)$540e7b3c-bd0b-4980-96d1-5d140d303f7eConnectorNet�k�eMySql.Data.Entity.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100d973bda91f71752c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c886b3ee1�v�pMySql.Data.Entity.Migrations.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100d973bda91f71752c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c886b3ee1�u�oMySql.Data.Entity.CodeFirst.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100d973bda91f71752c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c886b3ee1
6.9.4
en-USTWrapNonExceptionThrows�mTPPP2RSDS�wm� ��D�_�qe��c:\Jenkins\Jobs\C_Net_6_9_Compilation\Workspace\Source\MySql.Data.Entity\obj\v4.0\MySql.Data.Entity.pdb�Q�Q �Q_CorDllMainmscoree.dll�% �0�HX`��4VS_VERSION_INFO��		?DVarFileInfo$Translation��StringFileInfo�000004b00CompanyNameOracleLFileDescriptionMySql.Data.Entity0FileVersion6.9.4.0LInternalNameMySql.Data.Entity.dll�KLegalCopyrightCopyright � 2008, 2013, Oracle and/or its affiliates. All rights reserved.TOriginalFilenameMySql.Data.Entity.dllDProductNameMySql.Data.Entity0ProductVersion6.9.48Assembly Version6.9.4.0P�1

Youez - 2016 - github.com/yon3zu
LinuXploit