DonatShell
Server IP : 180.180.241.3  /  Your IP : 216.73.216.252
Web Server : Microsoft-IIS/7.5
System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586
User : IUSR ( 0)
PHP Version : 5.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Program Files (x86)/MySQL/MySQL for Visual Studio 1.1.3/Assemblies/v4.0/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : C:/Program Files (x86)/MySQL/MySQL for Visual Studio 1.1.3/Assemblies/v4.0/MySql.Data.Entity.dll
MZ@	!L!This program cannot be run in DOS mode.

$PELTR!  m@ȣS  H.text$  `.rsrc@@.reloc@BHDL	8P 	BgaC=0:"7oTy8T}mX;w©BNzbcjUn;0IW0f,cV:+G-2| ՎA=PrA L2NUµ2{o
*6{o
*2{o
*6{o
*2{o
*6{o
*{*"}*{*0H}{to
{t
o
o
,{o
o
o
*2{o 
*J{to!
*2{o"
*2{o#
*6{o$
*2{o%
*s&
*N{o'
s*2{o(
*2{o)
*2{o*
*06s
{}{}{o+
t}*f}s,
}(-
*(/
}}{{}*2{o0
*2{o1
*2{o2
*2{o3
*2{o4
*:o5
o6
*"o6
*J(7
{o8
*6o6
*6{o9
*N{o:
*6{o;
*N{o<
*{,{o=
*{o>
*6{o?
*6{o@
*6{oA
*2{oB
*{,{oC
*{oD
*6{oE
*6{oF
*6{oG
*6{oH
*6{oI
*6{oJ
*6{o5
*2{oK
*6{oL
*0N{o6

{,7u-/oM
{oC
(N
,{oC
(6
*0u,I(O
(P
,tsQ
*М(O
(P
,t
1*u,#П(O
(P
,sR
*(S
(T
*0
+o6
X
i2i*6{oU
*2{oV
*2{oW
*r(7
,{oX
(Y
*r~oZ
/rp([
**0s\

o=o]
*0Xr
p
o^
+-o_
to`
&rpo`
&o=rp
oa
-u
	,	ob
*
9F'"`^%{(d
*(e
*(A*:(A(F*{*"}*{*"}*{
*"}
*(H(J-*{	,{	o{
,{
o**0i(G,rpo`
&oL(G,rpo`
&(E-*u-(G, u-r#p(E(<of
&*0{	oN
-
{
oN
*:(C(J*{,r3p{of
&+r?p{(<of
&(M*sg
z0K{	o=rGp{of
&{
o={,rSpo`
&{o=*6{o@*(C*V(e
}}*********,oz{(h
,{o{*{1rp{([
rp{([
oi
}1*B{}**sg
z(A*0{,{r]p(j
,rapo`
&{,rpo`
&{o={,rpo`
&{, {r]p(h
,rmpo`
&+rGp{of
&{,rpo`
&{o={,rpo`
&{,{r]p(j
,rpo`
&*{o@{o@o\*(m*J(msk
}*0	{o={,rwpo`
&rpo`
&{ol
+(m

on
rpo`
&(o
-ob
op
Yoq
rpo`
&*8'_0<{o@
+{or
o@X
{os
2o[*0rpo`
&
+Lrpo`
&{ot
o=rpo`
&{ ot
o=rpo`
&X
{ou
2{!,$rpo`
&{!o=rpo`
&rpo`
&*0d
{!o@
+{ ot
o@X
{ ou
2+{ot
o@X{ou
2oW*vsv
}sv
} (A*V(A({(}*{"*"}"*{#*"}#*{$*"}$*{%*"}%*n(|(w
-(|*(~*{&*"}&*0(x,(xo=+8(z,rp(z(<of
&r?p(|(<of
&(~,+(~(|(j
,r#p(~(<of
&*0,(z(|sw
(~o(xoy*(-s((o*0tu-*u
o,(,o(ox
*oz(z(j
,*o|(|(j
,*o~(~(j
,**"o]*:(m}'*0@{-r
p+rpo`
&rpo`
&{'o=rpo`
&*R{'o@oX*0W{+-{*+{*(<
r	p{(-r
p+rpoy
&{)o=rpo`
&*6{)o@*(A*{,o=r-p{-r
p+rGpof
&*R{,o@oV*(m*0Y{-o={,rwpo`
&rOpo`
&{.o={/,r]po`
&{/o=*R{-o@oY*(m*J{0soz
*6{0oz
*07{0o{
+(|

o=(}
-ob
*(0)
+{0ot
o@X
{0ou
2*Jsv
}0(A*:(A}1*:{1o`
&*"o^*J(As~
(*{2*"}2*sg
z(o
,((o
Yo
**0+(o

(X(o
YYo
*:(o
*0m
u-*u
(o
Yoo
Y
+2(%Yo
o%Yo
(
,*	X%
.2/*0Cs
(o
+(
oo
(
-ob
*!3sg
zV(A((*{3*"}3*{4*"}4*04(u
o=rop(-ryp+rpof
&*6(o@*{	o={5-rp+rpo`
&{
o=*{	u,o,*{
u,o*sg
z(C*~
}6}7s}8s
};(
s
(*n{;o
-*{;o
*{<*"}<*sg
z0!rp%{7%
X}7([
*0s
oo
o
*0%{9X}9o
o+u
oo
o
o
%{9Y}9{91*oswo{8o,oEo{u,*u,
u	,
	o&+
,	o&*0o

sOo
rpo

	, o
,o
us}+}o
o
}o
}o
rpo

	,o
,o
u}o
rpo

	,o
,o
u}*Zr	po
(
s*0o
o+
u
oj*0o
o+s
oj*0s
o*0o
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+}/*0sv
+>{o
o
o+oz
{ o
o
o+oz
Xo
o
2o
,o
u6-o
o+}!*0s
o
o+},*s
z.r#ps*0o
636s
r-poo
o
o+orpo*~
o

. YE,."+(r3p+&r7p+r;p+r?p+rCp+s
zo
o
o
o
o*0~o
o
u
+Zo
o
o+
	u,		u+sw	oyo
o
o
ooo
Xo
o
2*s
zs
zs
zs
zs
zs
zs
zs
zs
zsg
zs
zsg
zsg
zsg
zsg
zsg
zsg
zsg
zsg
zsg
zsg
zsg
zsg
zsg
z0,u,
u,(-*{nu,(
*0{nuoE
oE{n}n{nuoF{o-{o}o+8{o,0sp{o}{o}rp}}o{o({p-{p}p{p(o-zo,roo{
+(|

	o(}
-ob
oo{
+(|
((}
-ob
o-|o,too
	+	(
o	(
-	ob
oo

+
(
(
(
-
ob
{q-{q}q*4 'Rp 0
,
oo
,*{nu,
,
{nu-*{p,{p-ho,o-Xo,o-H{q,{q-8{r{r3*o+o
ox,*Xo
2**0-*s_
o@*0wo+
uoF(&u,,u}u,,(u,{nu,u,{nu},
{8o*0? s
u8(o
o
o+t}ns}o*0!u,
9u-9so
o
rGp(h
9t-o
(
o
o
o+}-@Sr]p(h
9Co
o
u-,Eo
o
t-r_po
o]
rmprqpoi
([
s}.*o
o
@
o
o
u,%
9o
o
u,%9	o
o
rwp(h
9o
o
rwp(h
9	o
o
u-9	o
o
t-rpo
o]
rmprqpoi
([
s}.o
o
o+}-*:-rp(h
9o
o
u-9o
o
t-rpo
o]
rmprqpoi
([
s}.*o
o
rp(h
9o
o
u,9o
o
rp(h
,vo
o
u-,bo
o
u-	t-

o
	o
36o
o
o+}-rp
o
([
s}.**0X"(
,*sp}o+}(}o+}(}o*0#{rp(h
9{u
{u-G{u-*-"{u
	-*	(,M*(,<*-%{u-*(,*(,**{{ox
,){{3{-{{o
**0${{@{-{{r]p(h
,i{r]p(h
,W(,I,F(	,8,5ox
,,sq}{o
{	o
**0W%{-M{r]p(h
,;(,-,*{ox
,{o
-{o
**{uQ{uQP-{uQ{uQ*0&o

.
+..3**0X'u
sto
o
o+oo{8rponuoo
o+oqo]
*(*{=*"}=*0(u|
o
(o
rpo
o
t(w
,do
rpo
o
t
	(w
,o

o
rpo
o
t(w
,o=
rp([
*(*(*0{s
>s
?s
@s
As
B~>rIpr_po
~>rcprypo
~>r}prpo
~>rprpo
~?rprpo
~?rprpo
~?rprpo
~?rpr#po
~?r5pr?po
~?rSprapo
~?ryprpo
~@rprpo
~@rprpo
~@rprpo
~@r)pr7po
~@rOpr[po
~@rqprpo
~@rprpo
~@rprpo
~@rprpo
~@r'pr;po
~@rgprwpo
~@rprpo
~@rprpo
~Arprpo
~Arprpo
~Arpr!po
~Ar7prCpo
~BrOprqpo
~Brprpo
~Brprpo
~Br	pr)po
~BrMprspo
~Brprpo
~Brprpo
~Brprpo
~Brpr!	po
~BrE	pre	po
~Br	pr	po
~Br	pr	po
~Br	pr
po
~BrC
prk
po
*0}C~>o
o=
o
,(*~?o
o=
o
,
~?(*~@o
o=
o
,
~@(*~Ao
o=
o
,
~A(*~Bo
o=
o
,
~B(*(*0)s
o
rp(+}*{*(w
,o
o=
}*o
r
p(+}+o
r
p(+,o
o
1r
ps
zsr
p
o
o
+7o
	o
1	so{Co+orp
oa
-,ob
})*D0*s\

o
o
1'r3po
%Xo
{Co+of
&r=p~>o
o=
o
o
o
{Co+oy
&o]
s*0+o
o

+o
o
{Co+Xo
o
2o
o=
%
,	r7p(h
,
(+o
o=
o
(
s*0s\

~Ao
o=
o
o`
&rpo`
&o
o
{Co+on
&rpo`
&o
o
1 o
o
{Co+on
&+r
po`
&rpo`
&o]
*(e
*0A,u
suo
o
o+tow{8rpovoo
o
+$o
t
ox	o
o+oz
oa
-,ob
{:-s
}:o
o
	+[	o
to
o+ozoz
o
&."o
t'o
{:o
	oa
-	,	ob
o
,o
o}Xo]
*N1h0(-(
so
o
t(o

rSpoo
o
o
8(
{:o
:	,s
z
o
o
o
o=
rupo
,r}ps+Ho
o
o
o=
rp(h
,&rpo
rpo
o
([
srp([
oo(
::ob
}o*D(*:{Do
*0~.-*,
{Do
&u,,u,{n(*u, u
{	({
(*u,u{	({
(*J-*oE(*v{Do
-*{Do
*0c/
oo
2Qoo
Y+=oo
,)(
	,	oI,	*	u,,	u,{n*Y/*Js
}D(e
*n{Ho
,{Ho
**080u{
o
o
o

	-3o+(o]
*0}1

u,9Z{nu,9HoEoo
?/oo
9oo
o%{nu,9oo
?oo
9oo
o(
:oo
ox9oo
oxu,9oo
@soo
ox9]{nu,
	9K	{n9<oo
oxu	oo
@	oo
99s
oF		{nu

-	oo
oz	+	
{	}no	swo
o	r
pswrpos		oo
osw})	{r}({*}*oyo
oKoFoo
ou,}n*0o
(
}r*0Jo
o
o
o
o
o
(
o
(
o
o+}o*02o

o
o
o
({8o
oo
(o
o
t
	o
o
to
o
+\o
o+oXu,.orp([
ooo
oa
-,ob
	8o
	o


uQ-s
zo
%Xo
o
sw


o
o
o+(oy
oo
o
	X		o
o
?k*si03o
o
r#p(j
,s
zs
o
o=
}*o
o=
r+p(h
,
r=p}*+o
o=
o
}*o
}(})*o
o
o
o
o
(*04o

o
o
o
(o
o
o
o
(
su-{8oK	{8oK}n{8oK	u,9n	u,oo

8
(
s{n}n{o}o,#{ou,{noEoE({p}poo
{8oK{8{noE{no	oEo|sw		oy		o|o		oEo	{8o	o~(w
,	o|oF		o|o{8o
(
:
ob
{8{no{8	o*A,~o
o
o
o	
(*05sT
(}o
o
o
(}	{	(}	o
o
o
(}
{
(}
{
u,, {
u,oG,o
oF,o+}*0.o,*s
{8oKoJ}n*0Zu,-u,{8oKoJ+3u,+,(s
}noEoF{8oK**0d6s
swo
o
,o
o
o+toy+r#psoyrIpooo
*0Jo

o
o

o
o

o
(
o
(
o
u8(*0B7(
u,,u,*su,u{8oK}n*0o
(
{8oK*0~8o
o
o
o
o
o
(
o
(
o

o
+$o
o
o+o
sooa
-
,ob
*B0r
01o
(
o
(
o
o+}p*08o
o
o
o
o
o
(
4(
o
o
+$o
o
o+o
sooa
-
,ob
o
(
o
o+}q*>0n
049s
o
(o
(}	}
*Js
}H(*0&:u
s}Io
o
o+o{8rpouo{:-s
}:o
o
+lo
too
o+oz
o

	o+ooz
	o
&.!o
t'o
{:o
oa
-,ob
o
o+o}Io
,o
o}vo]
*fy0: (
srMpoto
o+o}o*0;sp
}o+}(}{u,{Jt'o
o
o+}{u,{Jo
&(}*(e
*ro
{}u{1(h
*0v<s}}{I,W{:{Jo
|}o
,9{}u,,(-
s
o

,o
s*(*Js 
}J(*s!
*(e
*rypo
,rypr
poi
**0"=o"
(#o#
s$

(%
*o&
(#o'
o(
(#o)
(*
*no+
(#o,
(-
*0j>
o.
,,o/
(#o0
o1
o.
tXs2

+o/
(#o0
o1
s3

,	(4
*(5
&*no6
(#o7
(8
*0]?o9
(#s:

o;
o<
+o=
o;
o>
oa
-
,ob
o?
o@
(A
*>
0"@oB
(#oC
sD

(E
*o&
(#o'
o(
(#o)
(F
*no6
(#o7
(G
*no+
(#o,
(H
*0AoI
(#sJ

(K
*0"BoL
(#oM
sN

(O
*0(CoP
(#oQ
oR
sS

(T
*0"DoU
(#oV
sW

(X
*(Y
*{N*"}N*{O*"}O*6uTo9*6uVo=*6uWoE*6uXo;*6uYo@*6uZoB*6uhoD*6u[o:*6u\o?*6u]oA*6u^oF*6u_oC*6uioG*6u`oI*6uao<*6uboH*6ujoJ*0E

	

sZ
}Ks[
}M(\
{Mrp-
Lsb
o]
{Mrp-
Msbo]
{Mrp-
Nsbo]
{Mr
p	-
Osb
	o]
{Mr/
p-Psbo]
{MrY
p-Qsbo]
{Mr
p-Rsbo]
{Mr
p-Ssbo]
{Mr
p-Tsbo]
{Mr	p	-Usb		o]
{Mr/p
-Vsb

o]
{Mr_p-Wsbo]
{Mrp-Xsbo]
{Mrp
-Ysb

o]
{Mrp-Zsbo]
{Mrp-[sbo]
{Mr/p-\sbo]
*0Fs^

sZ
(_
o`
}Loa
+,ob
{MoM
oc
od

	ocoe
oa
-,ob
{Kof
19{Kog
+(h
oe
(i
-+ob
*&9_0VG-*o"
(6sj

rIpo"
(Ko#
ok
(l
rpo#
o>(m
on
*05G-*sj

s\
&rpoB
(KoC
(l
on
*0H-*o0

s\
o/
(6
	rp	o/
(K	rp	ok
	r
p	(o
o`
&o>o`
&sj
o]
on
*0I-*s\

rpoP
(KrpoQ
rp(o
o`
&op
&
	rp	oP
(K	r"p	oQ
	r
p	oR
	r6p	(o
o`
&op
&r\po`
&op
&rpo`
&op
&rpo`
&sj
o]
on
*Frprp(m
*Frprp(m
*0Is\

rpo(
rpoq
rp(o
o`
&rprpor
~P-]ss
P~P(+(u
rp(m
o`
&
	r p	o&
	r:p	rpov
~Q-^ss
Q~Q(+(u
	rp	(o
o`
&ow
,rDpo`
&sj
o]
on
*0lJ{Lox
oy

s\
~goo`
&rpoz
:o{
Т(O
(P
-$o{
(O
(P
,>o{
o|
,1o}
(~
, rpo}
(
of
&o
(
,Jo
(
,9rpo
		(
o


(
oy
&8rp(h
-rp(h
-rp(h
9o
(
,Go
(
25rpo


(
1+o
(
of
&o
,yrp(
,rp(
-]rpo
(
,o
(
/r
p+'r&po
(
(
rp(m
of
&o
(
-+(
-r,po`
&o
,rBp(h
,rJpo`
&8o
9rp(
:s\

	rp(5([
o
&	rp(5([
o
&	rhpo
&	rpok
([
o
&	rp(5([
o
&	rp(5([
o
&	rp(5ok
(l
o
&	rpo
&	o]
s
{KoJoe
o
(w
-rpo
([
o`
&o]
*02Ks\

rpo(
oq
oy

sj
o]
on
*(e
*^rpr
p{~(
*0Lss\

rkpo`

o
,r{po`
&o
rpo
&,o]
rp(h
-ryp+rp}~rpo
o6
(Koy
&rpo
ss
(+(u
rp(
o`
&o
rpo
&,o]
rp(
0rp+rp
rp	(
o`
&sj
o]
on
*0*Gsj

rpo6
(Ko
(l
on
*vrpok
r
po>(
*Frprp(m
*0Ms\

o9
(K(3-s~
(4(3o
-(3o
rYprwp(m
o`
&o9
(6rpo;
_s
(+(u
o`
&o?
,ko]
rpo
-Yrpo`
&rprpo?
o
~R-`ss
R~R(+(u
rp(m
o`
&rpo`
&sj
o]
on
*0)Gsj

rpoI
(Krp(m
on
*0*Gsj

rpo
(Ko
(l
on
*Frprp(m
*0Ks\

rpo+
(Krip(m
o`
&rpo
r
p(m
o`
&o
o
1Hr&prpo
~S-ass
S~S(+(u
rp(m
o`
&sj
o]
on
*0Ns\
o
rpo
&,o]
(
&,[o
o
3M
s

	o
o
o
o+
	s3
o;o
rp(
o`
&sj
o]
rpo+
rp(
on
*0O-*s\

s\
o
(
r7pr
poi
o`
&r	po
(Kr%p(m
o`
&rpo
rpo]
(
o
o
&sj
o]
on
*07K-*s\

rpoU
oV
oy
&sj
o]
on
*
*0 Gsj

o
on
o
o
*rypo
,rypr
poi
**(e
*03P~T(
, rp%(O
o
s

T~T*~U*U*V(grIp~Uo
*V(grp~Uo
*V(grp~Uo
*V(grp~Uo
*{V*"}V*{W*"}W*rpo`
&(no=(p,r-po`
&(po=*sg
z(A*v(Asv
(ysv
({*{Y*"}Y*{Z*"}Z*{[*"}[*0{X,{Xoo
1r=po`
&rwpo`
&(vo=(xou
1%rpo`
&(x(?rpo`
&rpo`
&rpo`
&(z(?rpo`
&{X,rpo`
&{Xo=*sg
z0Q
YE
O;	O"+Mo]
*rp(S
(
*rp(S
(
*
(S
(
**0IRo
t
o
YE
+**0Ro
t
o
E"%
+&********	*
******rpo
o([
s
z0QSo
t
o
.*(
(
 / s
**0T
E+****0U%
9~|-Us
%r]p(
%rp(
%rp(
%rp(
%rp(
%rp(
|~|(
,"E+**0&
03.{
YE	ZZTZ*6ZH+XYE+
%. +<r]p*rp*rp*rp*rp*rp*rp*r!p*r7p*rMp*rcps
z0Bu,to
*u,to
*u,to
*s
z0)Vo
o
,o
5*5*(e
*N((
}f*.rp(*~
(h
,(*~
(h
,(*rp([
s
z.rwp(*0xW{f(S
(

#@4rps
z#ffffff@4rp(*#@4r1p(*#ffffff@4rep(*rp(*0X-rps
zo
o=
o

(
o
-rp([
s
z(
o
o
-(
*o
3Bo
rS po
,$o
-o
,o
(
*(
*(
*0Y-rg ps
zo
u
-(l([
s
zo
o
EP:1G]s'P$8a(
rw po
(
*(
r po
(
*(
r po
(
*(
r po
(
*(
rBpo
(
*(
r po
(
*(
r po
(
*(
r po
(
*(
r po
(
*

o
r po
,o
-o
,
o
o
r po
,o
-o
,
o

(
r!po
	(
*r!po
o
,r!po
o
+rS po
o
-o
,o
 +, +o
~
	 /	r/!p	++ /	rA!p	+ ?/	rK!p	+ra!p	(
	o
(
*~

rs!po
o
,rs!po
o
+r!po
o
,r!po
o
+rS po
9-r!p+r!p
o
,Ao
o]

(
,,
 0#(

o
o
(
*o
,4o
o]
r!p(h
,(

o
 (
*(

o
(
*-r!p+r!p
o
,mo
o]

(
,X
 1
 0	r!p
+o
 1r!p
(

o
o
(
*o
,2o
o]
r!p(h
,(
r!po
(
*(

o
(
*(
rpo
(
*(
rpo
(
*(
rpo
(
*(ko
o(l
s
z0Z(

o
(
*0[r!p([
(
s
(
*0*\(

o
s
o

o
o
	*0]s
(w
-s
o+fr-"pr
poi
s!
o
o
o]
(
(
r1"p(
(
s
o
,ob
o(
,r5"ps
oo*2Fx
(e
*{j*"}j*.sg*0^-r="ps
z
u{,s
+>u,s
+.u,s 
+u,s
+u|,s
oso
u,uoo
(
u|,u|o

o
o
8o
o
(
o
o
(
(o
	,K	o
(
o
,4o
o
o
(o
o
(o
o
o
&oa
:^,ob
oo
	+	(
o
o
&	(
-	<ob
o
*`y$u{,u{(*u|,
u|(*0_o
uH
,ro
o
o
u,Wo
o
}
+/o
	o
o
o
u{		X
	o
o
2*0`o
9o
o
t
o
o
o
$3Uto
o
}
+*	o
o
o
t{		X
	o
2*o
3}{t*0auo
o
s

o
o
s!
o
o
(
(
r1"p(
(
s
(o
o
(S
(

	#@4rU"ps
z	#ffffff@4	r"p=	#@4	r"p(	#ffffff@4	r5"pr"p
,ob
*)
s*0b-r"ps
zu
-(jr"ps
zo
o
s^

o
s
o
o
	o
o
	o
r"p(l
	s
o
&
	,	ob
*?T
0c-r"ps
zu
-(jr"ps
zs
o
o
o
o
o
s!

	o
	rE#po
,o	
o

3
	,	ob
*T?
0d-r"ps
zu
-(jr"ps
zs
o
o
o
o
o
s!

	o
rY#p([
	s
(~
,(
o
o(
&
	,	ob
*T:
0es\

r#po
&r#p(
(

o
&((
,,+r5"ps
(o+o
8o
o
(+o
+o
(o`
&oa
-,ob
o
(+o
+o

	o
(o`
&oa
-,ob
oa
:e,ob
o]
*(}#(^0fs\

s\
o
9uo
o
o
o
o
to
o
o
o
o
t
o=
o
@1/r#p(
o]
r7pr
poi
(
r#p{ho=
o
(l
o
&r%$po`
&r
po
o
o
o
+e( 
o
o
o!
-)rE$p{ho=
o
o
(l
o
&r$po
oy
&rp("
-Fob
rpo
&r
pr$p{h	o=
o
([
o`
&o
o
o
o

+e
( 
	o
o
	o!
-)rE$p{h	o=
o
o
(l
o
&r$po
oy
&rp
("
-
Fob
rpo
&o#
o$
o%

r$p
,
o]
+r$pr$p(l
o
&op
&o]
o`
&o]
*r^r+0go&

s~
}i{ho=
o
,{ho=
o
+a{ho=
o
rpo
o
t,o
rpo
o
t+o=
o
{ho=
o
r
%ps'
r)%pof
&r
p
o
o
+[( 
r7%p	((
o
o
((o)
&rp
("
-Fob
r_%po
&op
&o
o
1vre%p([
o`
&r
p
o
o
	+#	(
r$p	o
oy
&rp
	(
-	ob
r_%po
&op
&{io
>r%po
&r%pr&p(
(l
o
&r9&po
&{io

8
(
o
o*
,`ra&p([
o
&r&p([
o
&rT'p([
o
&r'p(l
o
&r'p([
o
&+r(p([
o
&
(
:i
ob
rJ(po
&rZ(po
&op
&o]
*(h/0'0Io
o=

rr(po+
,o,
o
rv(p(

+r p(
-rp**0hs\

o
o

o
o
o
o=
r(p(h
,Jo
o
o=
r(poz
:	rS po
9r(po
of
&8o
o
o
o=
r(p(h
,c	r po
9	r po
9o
,o
+-rpo
oy
&+eo
o
o
o=
r(p(h
,D(s-
(.
,0	r po
, o
(/
2r(po
of
&	r(po
,o
-r(po`
&	r
)po
9o
ox
9o
o
o
o=
rupo
,r6)po`
&8o
o
o
o=
rp(h
,{io
o
8(s-
(.
,ao
o
o
o=
r(p(h
,@rp,o
(/
/r
p+r&po
o]
rp(m
of
&+rd)ps0
zo]
*
*Js
}h(1
*j(Ds2
(}m*{s*"}s*{t*"}t*{u*"}u*(-sv
((oz
*(-s3
((o4
*0<(G,rpo`
&r)po`
&{r,r)po`
&((?{n,r)po`
&{no={o,r)po`
&{oo=(,r)po`
&((?({p-{q,Nr*po`
&{q,r*p{qof
&{p-r*po`
&+r?p{pof
&(G,,rpo`
&(E,r#p(E(<of
&*(-*rF*po`
&((?*(K(o
-((E,o(Eo*0=i{k-s5
}k{n(
{nu,6{nu{o-{nu{{noo
8(
oo
	oEo{{ko|o6
o7
,&o|(o{ko~o8
+{ko|o6
o8
(o
(
:rob
{nu,,{nu{{no*m0joo
oEo{{ko|o6
o7
,&o|(o{ko~o8
+=o~(w
-{ko~o6
o8
+{ko|o6
o8
(o
*0ks2

u,
u(*u-u,ku,{m{;o9
{	(
u,{
,{
(o:
u9{m{;o;
&8u,9u,oo
8(

	oz	o~(w
-	o~+	osw{mo31	o~o	o|o	oz,9	ozo+*	oo	oz,	o~-
	ozooE,
oEoo
(
:>ob
*sg
zoE(w
-QoE{noE(j
,9o
+(
oEo(
-ob
*~#0|ls2

{o
(o<

+H	o=
oEo
swo
ooE-{+oEoo
	oa
-
	,	ob
*Tp
09m
o6
}lr$p(l
{ko7
-*X
+0gn{l-*(o
+2(

ox
,!o~(w
,+o~o}(
-ob
**?U0&
0.-;8.C-./3YE7A8{o-(o
**(o
*{p*{q*(o
-(-
(**(o
-(-(-
{p**s
zsg
zv(Asv
(sv
(*{w*"}w*{x*"}x*{y*"}y*{z*"}z*0Ur`*po`
&(o=rp*po`
&r
p
+Bo`
&(ot
o=r]po`
&(ot
o=rp
X(ou
2(,r-po`
&(o={v,rpo`
&{vo=*sg
zlSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPcXT4fQ;O~JConnectionMustBeOfTypeMySqlConnection*NoStoreTypeForEdmTypeV TypeNotSupported.WrongFunctionResultTypeTThe 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 PrimitiveTypeS<?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"?>
<!-- 
####################################################################################################################

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.30319l4F#~F<#Strings|*#US#GUID0#BlobW)	%31~=n4XJ
?,
YRd,
qR
R2
qO
R,,,, ,8,h , [

R
R
O<
iR
R 
	s	
	<




M
Zk
%DTh}$5L$1CUj{*3G2mE,DWjO,
/
=P\s
R
R
:)
kVm  

%;-"
R&,e
RW
#"
%%
%%
&%
&%
>&%
W&%
p&%
&%
&%
&&
&"
	'"
'%
2'%
k'K'
'%
')
''K'
'K'
(K'6(U(((
)%
*)R
>)R
\)R
y)R
)R
)R
)R
)R
*R
*R
i*K'
*R
*K'
*R
*R
+R#+
+R+++(,e,,
>-

U-Ry-
--
-R-.
n.
|....#+V///010
o0R00,1
h2%
2R",3 3
e3R
3R
N4
4
/5R55
5'
5%65 65
56R
<6Rm6x66 
6R
7RD7
77
87
#87
.87n8\8
8
88939,99 9 9):I::::
 ;RU;k; /A/
S/<_/	Cm/O{/R/U/_/j/(n/(q/t/"w/('
/(/(,*/(-7/0D/1T/2e/3r/5/6/`=/`=/>/`D/D/E/`H/`I/K!/!K#1/%K3L)TbYcTf/Vn/Xu/\~-\g1g/k/v$*{*}N0}4~!:%kr%X	H	e	e6
vL
g

v
v
yi}

y
v
vv	y	y*v3<FMV[`y'y@v[vwvMyMy
vMyMy
y
y
va

y
%v*;9>?;dBsNZo1s1s1s1s1s"|;VV.v2244Jwyy#e3IQf;Qr;Q;Q;Q;Q;Q;Q;S;S;v3s@K
  |& eyC yI y~ !!:!S!#ya
Iy*
Y6?|!y'4v F* V. f3 y7!<!A!!G)!K2!P<!U![!&`!Nf!xk!p!v!z!"3	
"	"	v	("	j"v	"	"x3"3"G"G"3""#v
#
%#3#G#U#i###'#2#[#n#{
# $!$" $"#.$$<$'%J$,&W$&h$'$1(\%8*%	+%		G,%	G,%	K,%c	L-	Q.%	*/&	W/	_1&v2&32&v2&.2&	*3&	.3&	G4&	K4&	G5&
K5&
i6,'
Q70'	Q8'
o9'v:'	Q:(	_;((
Q<(	_=(v>
>
?
@
A
B
C
D
E
F
G(H(
J(
K(
L(
M(
N(
O(
P(
Q(
R(
S)#vT#)	QT%)	_U,)vV4)	QV/*	_WP*vXX*vXl*	QX+	_YX+	QZ,	_[x,v\,\,e^,q^,}*_,._,*`,.`,*a,.a,*b-b-b -	Qc-d-.d. e.	_f.g.	Qh.	_i/	Qjk/	_ky/vl/	Ql/	_m/vn/	Qn10	_oF0vpN0
.pa0
qp0	Qr0	_s0vt1.t1	Qu*1	_v31vwF1 
wN1/
wW1	Qx^1>
*y1O
.y1T
.z1 {L2|2	_|2.}2
2
2
G2
K2	Q,3	_:3
Qo353	_3v3v3wW3\4g4s4*H4
zp4
05
5
6
@6
h6
6
27
Q7
j7
7
7
7
|8
8
8
8
9d

:
:
:
$:
,&:
4-:
<4:
D;:
LB:
TI:
\P:
dW:
l^:
te:
|l:
s:
z:
:
:
:
:
:
:
:
:@:P<j=x=X>>
AB%B
,C$5C?>DcGHDSpDsDvD<DADsEvE34I:JCKWKg4LwLvLs\NOvOOBPUPtPPvPQsXQS
T
`T
V$V
V
dX
YXYmZlZ
Z
4[[
[
tL\
\
|D]
l]v]s^$__
V`vi`8q`v	y`L	`:>
`:H`:Ra:\a:fa:p$b:zRb:b:b:b:b: c:"Dc:$rcv&zc
&c&c*'c .'dv(<g:(h:*|h:+h:
,Pi:-xj:.k:%/o:,0|o:51p:>2q:G38r:P4pr:Y5r:b6ts:k78t:t8t:}9u::u:;HuL<cs1=c1>c1?c1@c1Ac1Bc1Cc1Dd1Ed1F(d1G6d1HDd2IRd2J`d2Knd'2L|d32MTj2Nfj2Ops4%Pp4Qr4RSUVYiuvZtuZuZuZu[u[u[v[v["v[+v\3v\<v	Q]vv	_^}vv_vv_v_v_v`v`v
avav	Qbw	_cwd@x$fx*g<y2hy9jyBkpzGl{-Nml{H\n{vp{.p{7q{Cq|Tr|jr|rP}s`tuvwvzzzŃ3{ԃ:{T}xp(08
/h@gx&-3:v̔U+ [7 eN Z 	f pr z ; \	Q QȖ
i i`  , ě L5!a	_hv 
/

̝	Q	__v_a0`Zovbo14L|!|!|!|!|!|!|!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!d!!!!!!!!|!|!|!9!!"!!!!""""""""""""""""""""""!!!!!!!!,"6"|!|!|!|!|!!A"K"!"!!!!!!!!O"O"!!Q"!!|!!!Y"K"!b"i"|!|!!!!b"!|!s"""""""""""""""""""""""""""""""""""""""""""""""""""""!""""""""""""""""""#""|!s"" #""'#"""""!-#
-#-#!-#"6#"""<#?#"""""C#L#"Z#-#i#"""!"""""""""""""u##############$#'$#?$#R$#j$#}$#$#$#|!|!$$""""""""""""""""""#"""""""""""""""""22222$$""$$$|!|!|!!!|!|!|!!!"|!%%"|!
%"Z#"%!%%-%7%?%L%?%]%u#%|!g%s"s"!"!"!x%%x%%x%%$%%]%"b"" |!|!|!""!!99b"96##%b"Z#!|!|!|!|!!!m02		 !v	...!.).1.9.A.I.QvYKa.iKq.y...7v	F*	V.	f3	y7	<	AqF(x	r(	(G(	q(	q(	q		xk	p	v!vq)		3			vqv	v.vx33GG3'-)	v	*'2[yF)	n{
",!c)	k)	)	)			q)				G	G	v	K)	)	v!	*[)
	

*G	v)v9*
!v*)
Qv)5
+;
k)5
v[I
$)[

`
$
*G.+39+7r
D+3,r
,D+3,vN+B! *
,
,[I
4)[
4
*G<v<D+3<r
<\+
<h+
<t+
{+
<[I
D)[
<
D
*G+vLvvTvLD+3L+[
1+*9+
		9+	*A(+.\,By,i8,K	*i	*IL,*^,]w,
	,t,yy,i,,.,,T
L,*,
,
	-w,
-
!-
,-dr
5-lD+3L-
vk-k- 
tr
|
v[I
)[

*G|D+3|r
Y-
a-g-*.mak-.
.2.
@.g\P.*vb..[
)[
.+3=
)J
.Z
[
)[
+
v,
.
i.
.
[
)[
,
.t
/y/

*Gb.=
vD+3+[
"/
,/0a;/Y+*E/ta2.
Y;/S-
+*E/to/*	.tY/Y/Yr
k-D+3-g/*/Gy/r
;/Y/Y|[I
)[

*GQ,YQ,YQ/
A;/YA/
);/Y)0[
)[
-

GIw,
I'0
1;/Y101D+
v!.Z
!2.
!.
E0
J0[
+[
T{0pv.0*
A:>10*10.10*10.A:H90*90.A:R110*
11GA:\A:A0*A0.A:f	*+ $[
,)[
4
;1J1A:p0*	*A:zA:A:A:	*A:	*Y1*A:	0*		*	g1*	-A:	*g1*A:Av<vDvIvDva@2aT2L[
T)[
I	*D=
<
<D+3<[I
\)[
\
*Gv9	*)^,s2.^,{21	*12dY73%E>3S3G9.t!v3P93	3G93Xl3Gl,[
93ht3G93ht,[
93Gi	*93x|3G|3[
{2	
Q93*^,A4G1\4,
A	*A+ {+<..
9+ y0*y4*9	*D+35D9Kr
9	.5*I%5n	sI<5**yQ5*QO5Gg5Kv!55ii			C6 P63%7,
. 
 
Ya!6v!6v.6h.6*Y6tb..=
.7J7,BU7G,e7e7{7Y7t7.7a577
8.8#	3;8*vv.iE8viJ8*6Gx8383^,N)U)k[
)[
	8z8[
8,,B!	*!8!.t	fT[I
)[

*Ga8)9
D+3r
,t9&9M9*.b9.o9Caa@iM9*y9*i9.AWA93v99.i9r9zQD+3q9^,Y:[
)[
:Y":[
)[
[
)[
a.8:G_:K$r
iz::_i::e,[
4)[
,B4
*G:|<r
y
;..,;*.
/Po9
8;UN;.av|vv
Dvz;*Db.DLE0
|.LJ0[
L[
T)[
pftkxp|ufkpz....{.......#.+.3.;.C.K.[.c.ke.scs	aAIk
aik
;
C
#Aa	 	@			
!
A
a


!AaA
a !@A` @ @`@``&&&&))))* *@*`*****+ +@+`+++++, ,--. .../ /@/`/225 5@5`55577778 8@8`8/					

0
f






Qcjo?MR_r)
D
Q


	"6v+6[|!'5;T4[/9PXp,:_,I_%%;@z	# %"&('*+-,.-1)88J!	'	2	:	C	S	>S	C


T}
%

d(%:(0Vl}
afE
l!t!}
f		
	


E!F!H#G#J%I%x'y'{)z)}+|+~--/113357799;;==?3A4A5C6CgEhGiGjIkKlMmOnQoQqSpSwUvUxWyWzY{Y[[]]__aacceeggii
	A
S
x





9

 
e
n
w


dmRgAJaq#=THU{
Vjshq&{/ IxR"3;;V;P<OP<<M<$#/.0 1#
d#
	
@-%%<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_UpdatedRowSourceCancelDbParameterCreateDbParameterCommandBehaviorExecuteDbDataReaderExecuteNonQueryExecuteScalarPrepareClone.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.cctorGenerateUserDefinedFunctionBitwiseFunctionGenericFunctionHandleFunctionRoundscopeTableAddRemoveGetFragmentFindInputFromPropertiesvalue__JoinUnionselectStatementsget_CurrentSelectTryFlatteningGroupByDbFunctionAggregateHandleFunctionDbExpressionBindingDbExpressionKindHandleJoinExpressionWrapIfNotCompatibleWrapJoinInputIfNecessaryVisitInputExpressionEnsureSelectCurrentSelect_onReturningSelect_columnsVisitedCreateConnectionTrimSchemaPrefixSystem.Data.Entity.Migrations.ModelAddColumnOperationSystem.Data.Entity.Migrations.UtilitiesIndentedTextWriterAddForeignKeyOperationAddPrimaryKeyOperationAlterColumnOperationCreateIndexOperationCreateTableOperationDropColumnOperationDropForeignKeyOperationDropIndexOperationDropPrimaryKeyOperationDropTableOperationMoveTableOperationRenameColumnOperationRenameTableOperationMigrationStatement_specialStmtsDbProviderManifest_providerManifest_dispatcherget__generatedTablesset__generatedTablesget__tableNameset__tableNameIEnumerable`1MigrationOperationColumnModelDeleteHistoryOperationInsertHistoryOperationSqlOperation<_generatedTables>k__BackingField<_tableName>k__BackingField_generatedTables_tableNameInvokeIAsyncResultAsyncCallbackBeginInvokeEndInvokeSystem.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__BackingFieldGroupByOrderByvaluebehaviorcmdwrappedReadernameordinaldataOffsetbufferbufferOffsetlengthsourceValuetargetTypedisposingidsqllistvisitorpropertiesfoldTableNamenewTableNametableNamecolumnNameinputNameobjsliteralpropertycolumnascendingcommandTreeexpressionselectouterinnersfoldTablenewTableetypetreereturningleftrightopbfinfLeftinfRightinflfSystem.Runtime.InteropServicesOutAttributecfcallerfuncsfragmentinputfaargjoinTypejoinConditionexpressionKindisRightPartconnectionStringtableaddColumnOperationwriteraddForeignKeyOperationaddPrimaryKeyOperationalterColumnOperationcreateIndexOperationcreateTableOperationdropColumnOperationdropForeignKeyOperationdropIndexOperationdropPrimaryKeyOperationdropTableOperationmoveTableOperationrenameColumnOperationrenameTableOperationmigrationOperationsproviderManifestTokenobjectmethodcallbackresulttypeUsagemodemiversioninformationTypestoreTypeedmTyperesourceNameresourceBaseNameentitySetproviderManifestcommandTimeoutstoreItemCollectionabaseNameSystem.Runtime.VersioningTargetFrameworkAttributeSystem.ReflectionAssemblyTitleAttributeAssemblyDescriptionAttributeAssemblyConfigurationAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyTrademarkAttributeAssemblyCultureAttributeSystem.SecurityAllowPartiallyTrustedCallersAttributeComVisibleAttributeGuidAttributeAssemblyDelaySignAttributeAssemblyKeyNameAttributeSystem.Runtime.CompilerServicesInternalsVisibleToAttributeAssemblyVersionAttributeNeutralResourcesLanguageAttributeSystem.DiagnosticsDebuggableAttributeDebuggingModesCompilationRelaxationsAttributeRuntimeCompatibilityAttributeMySqlConnectionset_ConnectionMySqlConnectionStringBuilderget_Settingsget_UseDefaultCommandTimeoutForEFget_DefaultCommandTimeoutMySqlTransactionget_Transactionset_TransactionMySqlParameterCollectionExecuteReaderDefaultMemberAttributeGCSuppressFinalizeBooleanget_ClrEquivalentTypeDBNullGetTypeop_InequalityRuntimeTypeHandleGetTypeFromHandleop_EqualityDateTimeOffsetget_InvariantCultureConvertIFormatProviderStringIndexOfAnyFormatget_CurrentMoveNextIDisposableChar<PrivateImplementationDetails>{1DC67A73-F8FF-4D9B-A620-5B908BFFFA64}CompilerGeneratedAttributeValueType__StaticArrayInitTypeSize=6$$method0x60001af-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_BaseTypeStartsWithget_QueryCompareOrdinalget_Inputget_VariableTypeDbGroupExpressionBindingget_GroupVariableNameCollectionTypeget_KeysDbAggregateget_AggregatesToUpperInvariantget_Distinctget_Inputsget_Applyget_JoinConditionget_ProjectionDbSortClauseget_SortOrderget_LimitDbUpdateCommandTreePushPop<>c__DisplayClass2<Visit>b__0pPredicate`1Findget_TableForeignKeyOperationget_PrincipalTableset_PrincipalTableget_DependentTableset_DependentTablePrimaryKeyOperationset_Tableget_Inverseget_IsDestructiveChangeIndexOperationget_PrimaryKeyset_PrimaryKeyget_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__10GetProviderServicesGetProviderManifestMemberInfoset_SqlAppendLine<Generate>b__25cFunc`2CS$<>9__CachedAnonymousMethodDelegate27<Generate>b__26CS$<>9__CachedAnonymousMethodDelegate28get_DependentColumnsSystem.CoreSystem.LinqEnumerableSelectget_PrincipalColumnsget_CascadeDeleteStringComparisonEndsWithget_ClrTypeByteget_IsArrayget_MaxLengthget_HasValueget_Precisionget_Scaleget_IsIdentityget_IsNullableGetValueOrDefaultget_DefaultValueSql<>c__DisplayClass2csortOrder<Generate>b__2bget_IsUniqueIDictionary`2get_AnonymousArguments<Generate>b__30<Generate>b__31CS$<>9__CachedAnonymousMethodDelegate32HistoryOperationget_MigrationId<Generate>b__36CS$<>9__CachedAnonymousMethodDelegate37TryParseget_Sqlget_ModelBitConverterget_ProductVersionget_SuppressTransactionset_SuppressTransactionSystem.CodeDom.CompilerGeneratedCodeAttributeDebuggerNonUserCodeAttributeReferenceEqualsAssemblyget_AssemblySystem.ComponentModelEditorBrowsableAttributeEditorBrowsableStateDoubleSingleget_DateTimeget_Year$$method0x600016c-1EntityTypeComplexTypeStoreSchemaDefinitionStoreSchemaMappingProviderIncompatibleExceptionParseArgumentNullExceptionToLowerInvariantget_StoreTypeNameToEdmPrimitiveTypeArgumentExceptionCreateBinaryTypeUsageFacetget_Facetsget_IsUnboundedCreateStringTypeUsageCreateDefaultTypeUsageget_StoreTypeNameToStorePrimitiveTypeCreateDecimalTypeUsageGetExecutingAssemblySystem.IOStreamGetManifestResourceStreamCreateStringReaderTextReaderStreamReaderReadToEndOpenget_ServerVersionMySql.Data.CommonDBVersionget_Majorget_MinorKeyValuePair`2CreateParameterget_Keyset_DirectionFunctionParameterget_ModeCreateCommandDefinitionStructuralTypeget_MembersBuiltInTypeKindget_BuiltInTypeKindDbConnectionStringBuilderget_ConnectionStringset_DatabaseSubstringget_Databaseset_ConnectionStringMySqlScriptExecuteGetSchemaDataRowCollectionget_RowsInternalDataCollectionBaseget_NowItemCollectionGetItemsget_BaseEntitySetsOfTypeAssociationSetget_IsForeignKeyReferentialConstraintget_ReferentialConstraintsget_ToPropertiesget_DeclaringTypeget_FromPropertiesNewGuidAssociationEndMemberget_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.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})!BuiltInAttribute1NiladicFunctionAttributeQNiladic functions cannot have parameters {0} ({1})! row_count() > 0Int!last_insert_id()	GuidKANY(SELECT guid FROM tmpIdentity_{0}) AND `{0}`=C0C1	K{0}EdmBigCountCOUNTX+ row_count() > 0 and 	dbo.%AddColumnOperation-AddForeignKeyOperation-AddPrimaryKeyOperation)AlterColumnOperation)CreateIndexOperation)CreateTableOperation-DeleteHistoryOperation'DropColumnOperation/DropForeignKeyOperation%DropIndexOperation/DropPrimaryKeyOperation%DropTableOperation-InsertHistoryOperation%MoveTableOperation+RenameColumnOperation)RenameTableOperationSqlOperationEalter table `{0}` add column `{1}` Galter table `{0}` drop column `{1}`alter table `` modify `` }set @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 = `	` );Yset @sqlstmt := (select concat(`alter table  change `%` , @columnType));-prepare stmt @sqlstmt;execute stmt;/deallocate prepare stmt`%` add constraint ``  foreign key references `	` ( K on update cascade on delete cascade 
({0}) ( {0}, {1} ) datetimetimestamp	time; DEFAULT CURRENT_TIMESTAMP{0}(  not null int9 auto_increment primary key 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}); 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}`create table `` (primary keyprimary key ( A) engine=InnoDb auto_increment=0drop table `Wdelete from `{0}` where MigrationId = '{1}'%` add primary key  `'DeleteAutoIncrement;  alter table `'` drop primary key insert into `[` (`migrationId`, `model`, `productVersion`) ; values ( '{0}', {1}, '{2}') 0x7rename 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.ssdlstoreTypeqThe underlying provider does not support the type '{0}'.MaxLengthedmType	boolutinyinttinyintsmallint
bigint	guid
doublefloatPrecisionScaledecimalFixedLengthtinyblob	blobmediumbloblongblobUnicode	charncharMaxvarcharnvarcharmediumtextlongtextAMySql.Data.Entity.Properties.{0}".5.5commandTreeuVersions of MySQL prior to 5.0 are not currently supported5.05.15.6connectionKCREATE DATABASE `{0}`; USE `{0}`; {1}Databases;DROP DATABASE IF EXISTS `{0}`-- MySql script-- Created on FK_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+StoreGeneratedPattern- AUTO_INCREMENT UNIQUE;Invalid identity column type.
SELECT DISTINCT 

FROM 

 WHERE 

 GROUP BY  LIMIT 	{0},)18446744073709551615

 ORDER BY UPDATE  SET szM [dz\V45hȉiM9=     A A   5 5 E E I M M  Q 
U (((A((5(E(I(MY Y    	 

 	 

  ] a 
 e i  m   
  q i ((  u yu   t 8T}8  D 4 < H @ 0 , 8 P P8  T T 8 T((T 	 (  8tx x
                     	           	 
     !  % ) - 1 5 9 =    
 } A H  , 000 0,, 0,0 ,P8 	
(A`	 `  	    Tx	  	 E IIM M  }(	 5	 QU	 YU	 ]U	 aU	 eU	 iU	 mU	 qU	 uU	 yU	 }U	 U	 U	 U	
  Q m a  Y  q e u i }  ] y         	 
 (	(}}}M
	?
   }}        5  5 5    }  }(	8 `	 8
 8	 X
 X X 8t 8 8 MX	(8	(X M$$RSA1squ,x)A&JACq_<_eZ@gюzF}zQ$q(X
	i$[JNPc O\Nec2n8b1A
lk> Y ] 	Y a a e YU	Item iiiiy  ]	i u u
e	 u8 P	 P  uPP  u    TTxT 0
 
T8\ 
   (<l }    	 MH
 4DLM
 8
8XX*,XXXX
8$ IL  HH,	00,,0,
 8P8P0 8PM  

	 @L u
 
)
I 
 	   L\T
M
@8@ 
 			+8	E8@
 II8!II8888
 




\,    Q  a	  a 
  ] ]i m} 	515&Yu uu) ))

 1   a}uuu	 991
u	)
u }ua  u	uu@3System.Resources.Tools.StronglyTypedResourceBuilder4.0.0.0 M M  U  	
a= ]	 	=}] 

 ==}=
 uu	}=}=}=u}=}="=uuuuM yyMy} yMy	Y }
}
}}  
    .
`}QQ}!= = 
]Y
 YYY] q Y]Yq YY]Y9]
0

 y

 %u
  m
  /uuaam a u(auuuuuuu8888'88888888888G.NETFramework,Version=v4.0TFrameworkDisplayName.NET Framework 4MySql.Data.EntityOraclePKCopyright © 2008, 2011, Oracle and/or its affiliates. All rights reserved.)$540e7b3c-bd0b-4980-96d1-5d140d303f7eConnectorNetkeMySql.Data.Entity.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100d973bda91f71752c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c886b3ee1vpMySql.Data.Entity.Migrations.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100d973bda91f71752c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c886b3ee1uoMySql.Data.Entity.CodeFirst.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100d973bda91f71752c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c886b3ee1
en-USTWrapNonExceptionThrowsTRRSDS_,GcY[c:\Jenkins\Jobs\C_Net_6_7_Compilation\Workspace\Source\MySql.Data.Entity\obj\v4.0\MySql.Data.Entity.pdb _CorDllMainmscoree.dll% 0HX4VS_VERSION_INFO?DVarFileInfo$TranslationStringFileInfo000004b00CompanyNameOracleLFileDescriptionMySql.Data.Entity0FileVersion6.7.4.0LInternalNameMySql.Data.Entity.dllKLegalCopyrightCopyright  2008, 2011, Oracle and/or its affiliates. All rights reserved.TOriginalFilenameMySql.Data.Entity.dllDProductNameMySql.Data.Entity4ProductVersion6.7.4.08Assembly Version6.7.4.0 4

Anon7 - 2022
AnonSec Team