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 :  /Program Files (x86)/MySQL/Connector NET 6.8.3/Assemblies/v4.5/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /Program Files (x86)/MySQL/Connector NET 6.8.3/Assemblies/v4.5/MySql.Data.Entity.EF6.dll
MZ@	!L!This program cannot be run in DOS mode.

$PELڰR!	   ``H	S `@  H.text  `.rsrc` @@.reloc@@B	H	X9P #HW@%%bov#O 8UxmwK`diCr,T4G{b!}yh`§:?0>
;(&9|f멍aWCJ,?"偪52{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}*o(
*^(-
s.
o+*o)
*^(-
s0
o+*o*
*^(-
s1
o2
*f}s3
}(4
*(6
}}{{}*2{o7
*2{o8
*2{o9
*2{o:
*2{o;
*:o<
o=
*"o=
*J(>
{o?
*6o=
*6{o@
*N{oA
*6{oB
*N{oC
*{,{oD
*{oE
*6{oF
*6{oG
*6{oH
*2{oI
*{,{oJ
*{oK
*6{oL
*6{oM
*6{oN
*6{oO
*6{oP
*6{oQ
*6{o<
*2{oR
*6{oS
*0N{o=

{,7u-/oT
{oJ
(U
,{oJ
(<
*0u,I((V
(W
,tsX
(*о(V
(W
,t
1*u$,#(V
(W
,$sY
*u,(Њ(V
(W
, usZ
*([
(\
*0
+o=
X
i2i*6{o]
*2{o^
*2{o_
*r(>
,{o`
(a
*r~ob
/rp(c
**0sd

oCoe
*0Xr
p
of
+-og
toh
&rpoh
&oCrp
oi
-u
	,	oj
*
9F'"`^%К(k
*(l
*(G*:(G(L*{*"}*{*"}*{
*"}
*(N(P-*{	,{	o
{
,{
o
**0i(M,rpoh
&oR(M,rpoh
&(K-*u-(M, u-r#p(K(Bom
&*0{	oT
-
{
oT
*:(I(P*{,r3p{om
&+r?p{(Bom
&(S*sn
z0K{	oCrGp{om
&{
oC{,rSpoh
&{oC*6{oF*(I*V(l
}}*********,o{(o
,{o*{1rp{(c
rp{(c
op
}1*B{}**sn
z(G*0{,{r]p(q
,rapoh
&{,rpoh
&{oC{,rpoh
&{, {r]p(o
,rmpoh
&+rGp{om
&{,rpoh
&{oC{,rpoh
&{,{r]p(q
,rpoh
&*{oF{oFob*(s*J(ssr
}*0	{oC{,rwpoh
&rpoh
&{os
+(t

ou
rpoh
&(v
-oj
ow
Yox
rpoh
&*8'_0<{oF
+{oy
oFX
{oz
2oa*0rpoh
&
+Lrpoh
&{o{
oCrpoh
&{ o{
oCrpoh
&X
{o|
2{!,$rpoh
&{!oCrpoh
&rpoh
&*0d
{!oF
+{ o{
oFX
{ o|
2+{o{
oFX{o|
2o]*vs}
}s}
} (G*V(G((*{"*"}"*{#*"}#*{$*"}$*{%*"}%*n((~
-(*(*{&*"}&*0(~,(~oC+8(,rp((Bom
&r?p((Bom
&(,+(((q
,r#p((Bom
&*0,((s}
(o(~o*(-s((o*0tu-*u
o,(,o(o
*o((q
,*o((q
,*o((q
,**"oc*:(s}'*0@{-r
p+rpoh
&rpoh
&{'oCrpoh
&*R{'oFo^*0W{+-{*+{*(B
r	p{(-r
p+rpo
&{)oCrpoh
&*6{)oF*(G*{,oCr-p{-r
p+rGpom
&*R{,oFo\*(s*0Y{-oC{,rwpoh
&rOpoh
&{.oC{/,r]poh
&{/oC*R{-oFo_*(s*J{0so
*6{0o
*07{0o
+(

oC(
-oj
*(0)
+{0o{
oFX
{0o|
2*Js}
}0(G*:(G}1*:{1oh
&*"od*J(Gs
(*{2*"}2*sn
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
(
-
oj
*!3sn
zV(G((*{3*"}3*{4*"}4*04(u
oCrop(-ryp+rpom
&*6(oF*{	oC{5-rp+rpoh
&{
oC*{	uAo|,*{
uAo|*sn
z(I*~
}6}7s
}8s
};(
s
(*n{;o
-*{;o
*{<*"}<*sn
z0!rp%{7%
X}7(c
*0s
oo
o
*0%{9X}9o
o+u
oo
o
o
%{9Y}9{91*os}o{8o,oKou,*uA
u	,
	o|&+
,	o&*0o

sUo
rpo

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

	,o
,o
u}o
rpo

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

o
(@,s*3o
-r
p+rps*s&
(o
o
(Bo
o
o
(Co
(o
o
s*zo
o
o
(Fo*bo
o
rpo*bo
o
rpo*6o
o+*0eo
u4o
u
sw}+-o
o
u:o
u
{	o
Xo
o
2*sn
z0Ms
o
o+}-o
o+}.o
o
&.o
o+}/*0s|
+>{o
o
o+o
{ o
o
o+o
Xo
o
2o
,o
uE-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+s}	oo
o
o
oolo
Xo
o
2*s
zs
zs
zs
zs
zs
zs
zs
zs
zsn
zs
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
z0,uA
uA(-*{uA(
*0{uoK
oK{}{uoL{-{}+8{,0sv{}{}rp}}{({-{}{(on-zon,rono
+(

	or(
-oj
ono
+(
((
-oj
op-|op,topo
	+	(
os	(
-	oj
opo

+
(
(
(
-
oj
{-{}*4 'Rp 0
,
olo
,*{uA
,
{u-*{,{-hon,on-Xop,op-H{,{-8{{3*ol+o
o~,*Xo
2**0-*se
oF*0w o+
uoL(&u,,u}uA,(uA{u,uA{u},
{8o*0?!sk
uG(o
o
o+t}s}*0"u9
9u:9so
o
rGp(o
9t:o
(
o
o
o+}-@Sr]p(o
9Co
o
u:,Eo
o
t:r_po
oe
rmprqpop
(c
s}.*o
o
@$o
o
u9%
9o
o
u9%9	o
o
rwp(o
9o
o
rwp(o
9	o
o
u:9	o
o
t:rpo
oe
rmprqpop
(c
s}.o
o
o+}-*:Drp(o
94o
o
u:9o
o
t:rpo
oe
rmprqpop
(c
s}.*o
o
rp(o
9o
o
u99o
o
rp(o
9o
o
u:,vo
o
u:	t:

o
	o
3Jo
o
o+}-rp
o
oe
rmprqpop
(c
s}.**0R#(
,*sv}o+}(}o+}(}*0${rp(o
9{u
{u-G{u-*-"{u
	-*	(,M*(,<*-%{u-*(,*(,**{{o
,){{3{-{{o
**0%{{@{-{{r]p(o
,i{r]p(o
,W(,I,F(	,8,5o
,,sw}{o
{	o
**0W&{-M{r]p(o
,;(,-,*{o
,{o
-{o
**{uQ{uQP-{uQ{uQ*0'o

.
+..3**0X(u
s6o
o
o+o1{8rpo0uoo
o+o3oe
*(*{=*"}=*0)u
o
(o
rpo
o
t(~
,do
rpo
o
t
	(~
,o

o
rpo
o
t(~
,oD
rp(c
*(*(*0s
>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
~Br
pr
po
*0}C~>o
oD
o
,(*~?o
oD
o
,
~?(*~@o
oD
o
,
~@(*~Ao
oD
o
,
~A(*~Bo
oD
o
,
~B(*(*0*s
o
rp(+}*{*(~
,o
oD
}*o
rBp(+}+o
rdp(+,o
o
1rps
zsr
p
o
o
+7o
	o
1	so{Co+orp
oi
-,oj
})*D0+sd

o
o
1'r3po
%Xo
{Co+om
&rp~>o
oD
o
o
o
{Co+o
&oe
s*0,o
o

+o
o
{Co+Xo
o
2o
oD
%
,	r7p(o
,
(+o
oD
o
(
s*0sd

~Ao
oD
o
oh
&rpoh
&o
o
{Co+ou
&rpoh
&o
o
1 o
o
{Co+ou
&+r
poh
&rpoh
&oe
*(l
*0A-u
s7o
o
o+to9{8rpo8oo
o
+$o
t
o:	o
o+o
oi
-,oj
{:-s
}:o
o
	+[	o
to
o+o<o
o
&."o
t4o
{:o
	oi
-	,	oj
o
,o
o}woe
*N1h0?.(
so
o
t5o

rpoo
o
o
8(
{:o
:	,s
z
o
o
o
to
..	.
.3r ps+Ho
o
o
oD
rBp(o
,&rLpo
rpo
o
(c
srp(c
oo(
:#oj
}*D((*:{Do
*0~/-*,
{Do
&uA,uA{(
*u, u
{	(
{
(
*u,u{	(
{
(
*J-*oK(	*v{Do
-*{Do
*0c0
oo
2Qoo
Y+=oo
,)(
	,	oO,	*	uA,	uA{*Y/*Js
}D(l
*n{Ho
,{Ho
**081u
o
o
o

	-3o+(oe
*0}2

uA9Z{uA9HoKolo
?/olo
9olo
o%{uA9olo
?olo
9olo
o(
:olo
o~9olo
o~uA9olo
@solo
o~9]{uA
	9K	{9<olo
o~u	olo
@	olo
99sk
oL		{u

-	olo
o	+	
{	}ol	s}o
ol	rps}rpos		olo
os}})	{}({*}*oo
oQoLolo
oruA}*0o
(
}*0Jo
o
o
o
o
o
(
o
(
o
o+}*03o

o
o
o
({8o
oo
(o
o
t
	o
o
to
o
+\o
o+orXu,.orp(c
oolo
oi
-,oj
	8o
	o


u`-s
zo
%Xo
o
s}


o
o
o+(o
ool
o
	X		o
o
?k*si04o
o
rp(q
,s
zs
o
oD
}*o
oD
rp(o
,
rp}*+o
oD
o
}*o	
}(})*o

o
o

o
o
(*05o

o
o
o
(o

o
o
o
(
sku-{8oQ	{8oQ}{8oQ	uA9n	uAolo

8
(
sk{}{},#{uA{oKoK({}olo
{8oQ{8{oK{o	oKos}		o		oo		oKo	{8ox	o(~
,	ooL		oo{8o

(
:
!oj
{8{o
{8	o
*A,~o
o
o
o
(*06sZ
(F}o
o
o
(}	{	(}	o
o
o
(}
{
(}
{
uA, {
uAoM,o
oL,o+}*0.o},*sk
{8oQoP}*0ZuA-u,{8oQoP+3u,+,(sk
}oKoL{8oQ**0d7sk
s}o
o
,o
o
o+to+r#psorpoolo
*0Jo
o
o
o
o
o
(
o
(
o
uG(*0B8(
uA,uA*sku,u{8oQ}*0o
(
{8oQ*0~9o
o
o
o
o
o
(
o
(
o
o
+$o
o
o+o
sosoi
-
,oj
*B0r
01o
(
o
(
o
o+}*09o
o
o
o
o
o
(
4(
o
o
+$o
o
o+o
sosoi
-
,oj
o
(
o 
o+}*>0n
04:s
o
(o
(}	}
*Js!
}H(*0&;u
s}Io
o
o+o{8rpouo{:-s
}:o"
o
+lo
too
o+o
o

	o+oo
	o
&.!o
t4o
{:o
oi
-,oj
o#
o+o}Io$
,o$
o}oe
*fy0:!(
srpoto#
o+o}*0<sv
}o+}(}{u,{Jt4o
o%
o+}{u,{Jo&
&(}*(l
*ro
{u{1(o
*0v=s}{I,W{:{Jo'
|o
,9{u,,(-
s(
o)

,o
s*(*Js*
}J(*so*"sP*0(+
s0(,
(2s-
(.
(2sj(/
s-(0
(2~K-*s1
K~K(2
s5(3
s7(4
(2~L-+s5
L~L(6
*s7
*(l
*0>o8
(+,|EH &H,B+Fs-
*s-*so*sj*s3*s5*s7*s=<s:
s;
*s?**0?(.
,
*(+*(l
*r
p*r
p*(l
*(=
*(l
*6(>
o?
*(l
*(l
}N}O}P}Q*0@(@
,*u'
,(;**0Y+
/Z{NoA
X
/Z{OoA
X
/Z{PoA
X
/Z{Q(B
,+{QoA
X
*0M{N{N(W
,8{O{O(C
,%{P{P(D
,{Q{Q(C
**0/A
u,oE

oF
(2(V
s8*(l
*0sG
^~^ sGoH
~^ sJoH
~^ sKoH
~^ NsIoH
~^ sLoH
~^ sMoH
*0@B(I
~^oJ
oK
+(L

oE(M
-,oj
*10lCrJ
p(N
u
~^oO
oP
-!rP
poO
oQ
(R
s
zoD(S
,r
p(c
(N
*0)D-*u
,~^oO
oP
,**6~`(C*}b(l
}b}aoE*0kE#@%{cX%}cl(T
#?Y#@[
{c{b1
-*|a(U
(V

(W
sX
*"}c*R#N@(W
`*Z#Y@(W
(C*V%{cX}c(D*(B*6~`(C*6~`(C*(B*(B*0QF(D
(S
-*(Y
(U
#$@4#(Y
#$@(W
(Z
sX
**(B*&([
*:(l
}^
*{^
*07sd

rpoh
&{^
/ou
&rApoh
&oe
*0#Gu.
,(_
{^
{^
o`
**0! J{
 )UUZ(_
{^
oa
X
*0H(b
o+(V
rGp(d

e
1(f
tg
(h
t(i
j
1(f
t(k

		(	+o
+&*:(n
}d*>so
op
*6{doq
*(r
*0Iss

ot
*rKpou
,rKpr
pop
**0"Jov
(Wow
sx

(y
*oz
(Wo{
o|
(Wo}
(~
*no
(Wo
(
*0jK
o
,,o
(Wo
o
o
tqs

+o
(Wo
o
s

,	(
*(
&*no
(Wo
(
*0]Lo
(Ws

o
o
+o
o
o
oi
-
,oj
o
o
(
*>
0"Mo
(Wo
s

(
*oz
(Wo{
o|
(Wo}
(
*no
(Wo
(
*no
(Wo
(
*0No
(Ws

(
*0"Oo
(Wo
s

(
*0(Po
(Wo
o
s

(
*0"Qo
(Wo
s

(
*(
*{i*"}i*{j*"}j*{k*"}k*{l*"}l*6umoy*6uoo}*6upo*6uqo{*6uro*6uso*6utoz*6uuo*6uvo*6uwo*6uxo*6uyo*6uzo|*6u{o*6uo*6uor*6uou*6u(q*0R

	

s
}es
}g(
{grUp-
s
o
{gr{p-
so
{grp-
so
{grp	-
s
	o
{grp-so
{gr+p-so
{grUp-so
{gr}p-so
{grp-so
{grp	-s		o
{grp
-s

o
{gr)p-so
{grOp-so
{gr{p
-s

o
{grp-so
s
(ls
(n{grp-so
{grp-so
{grp-so
*0Ss

s
}h(>
o
}fo
+Uo
{goT
o8
o
-oT
o8
s
z{goT
o8
o

	oo
oi
-,oj
{eo
19{eo
+(
o
(
-;oj
*-b0T-rps
zs

sd
s#o
(+-*rCprpom
&o
&o
&rpo
&o
&rprpom
&o
&rpo
&rpo
&o
&rCpo
&rpo
&rpo
&o
o
	+J	o

	oo(srQprp(
o
&rpo
&o
&	oi
-	,	oj
rpo
&rpo
&rpo
&o
&o
o

8
o
o
o
9r+po
r_p(
o
&o
{ho
o
+7o
o
ropo
-rop(
o
&oi
-,oj
rpo
&o
&
oi
:<
,
oj
rspo
&o
&rpo
&o
&rprpom
&o
&o
&rCprpom
&o
&oe
o
*(W Dd/0V-*s

r
ps#o
o
8o

	o
E
"+(s+6s+.s(+&s#+s+	o
	oe
s
z	oo(s%o
rpr
pop
rop(
o
oi
:M,oj
*$0Wo
8o

o
3+Po
rmpo
oe
rmp(
op
Q+]o
3:Po
rpo
t(
r7pr
pop
(
op
Q+Po
o
oe
op
Qoi
:\
,oj
*
0Xs

s
(>
o
}fr
ps#
o
8o
o
E5$F+Ss
	o+Bs
	o+1s(
	o+ s#
	o+s
	o%o
rKpr
pop
rop(
o
oi
:L,oj
o
*20Ys

(vo
*0ssd

rpo
rKpr
pop
o
(w(R
o
&rpo
&o
o
&r	po
&oe
r	pr
pop
*0tZsd

o
+4o
rpo
-r-p+r3po
(xo
&oi
-
,oj
oe
oe
rpo
o
*
@M
0[~{fo
o
og
sd
oh
&r;prEpo
(+,0o

(
, rUpo
(
om
&o
(
,Eo
(
,4rcpo
(

o
(

o
&oe
*0VY-*ov
(js

rpov
(ow
o
(R
rpow
o~(
o
*05Y-*s

sd
&rpo
(o
(R
o
*0\-*o

sd
o
(j
	rp	o
(	r-p	o
	rCp	(
oh
&o~oh
&s
oe
o
*0]-*sd

rIpo
(rpo
rp(
oh
&o
&
	rp	o
(	rNp	o
	rdp	o
	rlp	(
oh
&o
&rpoh
&o
&rpoh
&o
&rpoh
&s
oe
o
*Frprp(
*Frprp(
*00]sd

rpo|
(r po
(rFp(
oh
&rprpo
~m-s
m~m(
+(
rp(
oh
&
	rfp	oz
(	rp	rpo
~n-s
n~n(
+(
	rp	(
oh
&o
,rpoh
&s
oe
o
*0^{fo
o

sd
~ogoh
&rpo
:o
(V
(W
-$o

(V
(W
,>o
o
,1o
(
, rUpo
(
om
&o
(
,Jo
(
,9rcpo
		(

o


(

o
&8rp(o
-rp(o
-rp(o
9o
(
,Go
(
25rUpo


(
1+o
(
om
&o
,yrp(
,rp(
-]rpo
(
,o
(
/r
p+'rBpo
(
(
rp(
om
&o
(
-+(
-8rHp(mo
o
-o
-r
p+rdp(c
oh
&o
,frxprprprprpo
(+,"rpoh
&(ko
o
8	o
9rp(
:sd

	rp(i((c
o
&	rZp(i((c
o
&	rpo
&	rpo
(c
o
&	rp(i((c
o
&	r|p(i((c
o
&	rp(i(o
(R
o
&	rpo
&	oe
s
{eoo
o
(~
-rapo
(c
oh
&oe
*02_sd

r{po|
o
o

s
oe
o
*(l
*^rprCp{(
*0`ssd

rpoh

o
,rpoh
&o
rpo
&,oe
rp(o
-ryp+rp}rpo
o
(o
&rpo	
s
(
+(
rp(
oh
&o
r;po
&,oe
rEp(

0rQp+r[p
rgp	(
oh
&s
oe
o
*0*Ys

rupo
(o
(R
o
*(l
*6(mo
*vrpo
rCpo~(
*Frprp(
*%{{(mo
,r
p+rp(c
(
}*0a
s}sd

o
((mo
(ko
(g-s
(h(go
-(go
rprp(
oh
&o
(jo
,&o
o
(+	-
s

	o
rpo
s
(+(
oh
&o
,Yrpoh
&rprpo
o
~o-s
o~o(
+(
rp(
oh
&rp}(ks
o
{{rpo
o
oh
&rpoh
&s
oe
o
*0)Ys

r]po
(rp(
o
*Frprp(
*0_sd

rpo
(rwp(
oh
&rpo
rCp(
oh
&o
o
1HrBprpo
~p-s
p~p(
+(
rp(
oh
&s
oe
o
*0bsd
o
rpo
&,oe
(
&,[o
o
3M
s

	o
o
o
o
	s
o{o
rp(
oh
&s
oe
rpo
rp(
o
*07_-*sd

r po
o
o
&s
oe
o
*
*0 Ys

o
o
o
o
*rKpou
-
rKpo
,rKpr
pop
**(
*sn
z01c-rO ps
zo
oe
(
&(
*sn
zsn
z07c-rO ps
zo
oe
(
&oe
*sn
z0,d-rO ps
zo
oe
(

s 
o!
*sn
z05d-rO ps
z-rk ps
zo
oe
(

o"
*0`e-r ps
zo#
,'s$
o#
oe
(
&*o%
, o%
(Z
**sn
z0d-rO ps
zo&

o'
*sn
z04f-rO ps
z-rk ps
zo&

o&
o(
*04f-rO ps
z-rk ps
zo&

o&
o)
*sn
zsn
zsn
z0Pg-rO ps
z-rk ps
zo
oe
(

o*
(+
,(,
*#*sn
z0d-rO ps
zo&

o-
*sn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
z0d-r ps
z(.

o&
*0d-r ps
z(/

o&
*sn
zsn
z03c-r ps
zoe
(
,oe
(
**0%f(~
,r ps
z(0

o&
*0f(~
&(

o&
*sn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
zsn
z0d-rO ps
zo&

o1
*sn
z0d-rO ps
zo&

o2
*0d-rO ps
zo&

o3
*0d-rO ps
zo&

o4
*0d-rO ps
zo&

o5
*sn
z0d-rO ps
zo&

o6
*sn
z0d-rO ps
zo&

o7
*sn
z0d-rO ps
zo&

o8
*sn
z0d-rO ps
zo&

o9
*sn
z0d-rO ps
zo&

o:
*0d-rO ps
zo&

o;
*0d-rO ps
zo&

o<
*0d-rO ps
zo&

o=
*sn
z0d-rO ps
zo&

o>
*sn
z0d-rO ps
zo&

o?
*0d-rO ps
zo&

o@
*0d-rO ps
zo&

oA
*sn
z0d-rO ps
zo&

oB
*sn
zsn
z0d-rO ps
zo&

oC
*sn
z0d-rO ps
zo&

oD
*sn
z0d-rO ps
zo&

oE
*0d-rO ps
zo&

oF
*sn
z0d-rO ps
zo&

oG
*sn
z01c-rO ps
zo
oe
(
&(H
*01c-rO ps
zo
oe
(
&(I
*0d-rO ps
zo&

oJ
*04f-rO ps
z-rk ps
zo&

o&
oK
*sn
z04f-rO ps
z-rk ps
zo&

o&
oL
*sn
z04f-rO ps
z-rk ps
zo&

o&
oM
*sn
zsn
z0Hf-rO ps
z-rk ps
z(~
,r ps
zo&

o&
oN
*04f-rO ps
z-rk ps
zo&

o&
oO
*sn
z04f-rO ps
z-rk ps
zo&

o&
oP
*sn
z04f-rO ps
z-rk ps
zo&

o&
oQ
*04f-rO ps
z-rk ps
zo&

o&
oR
*sn
z04f-rO ps
z-rk ps
zo&

o&
oS
*.sq**:(T
}r*sn
z0Ih(%{ro=

oT
(U
&oe
(
&~qo&
*0-{roE

r
!poV
-r!p(c
s
z*
*
*(l
*03i~s(@
, r!p:(V
oY
sZ

s~s*~t*t*V()r!p~to[
*V()r!"p~to[
*V()rM"p~to[
*V()ro"p~to[
*{u*"}u*{v*"}v*r"poh
&(0oC(2,r"poh
&(2oC*sn
z(G*v(Gs}
(;s}
(=*{x*"}x*{y*"}y*{z*"}z*0{w,{wolo
1r"poh
&r#poh
&(8oC(:o|
1%rpoh
&(:(Erpoh
&r#poh
&rpoh
&(<(Erpoh
&{w,r/#poh
&{woC*sn
z0j
YE
O;	O"+Moe
*r7#p([
(]
*r7#p([
(^
*%
([
(_
**0Iko
t
o
YE
+**0ko
t
o
E	"%(
+)
*********	*
******r;#po
(c
s
z0lo
t
,r~`
.joT
(a
3\u,R
ob

o'
oc
+(/ _ҜcX	X	i2*o
.*(d
(e
 / sf
$*$*0m
E+****0n%
9~-Usg
%r]p(h
%rw#p(h
%rp(h
%r{#p(h
%r#p(h
%r#p(h
~(i
,"E+**0'
03.{
YE	ZZTZ*6ZH+XYE+
%. +<r]p*rw#p*rp*r{#p*r#p*r#p*r#p*r#p*r#p*r#p*r#psj
z0Bu,tok
*u,tol
*u,to
*s
z0)oo
o
,o
S*S*(l
*N(K(m
}*.r+$p(Q*r$p(o
,(N*r$p(o
,(M*r$p(c
sn
z.rU%p(R*0xp{([
(o

#@4ry%psj
z#ffffff@4r%p(R*#@4r&p(R*#ffffff@4rC&p(R*rw&p(R*0q-r&ps
zo
oD
op

(q
or
-r&p(c
ss
z(q
ot
o
-(u
*o
3Bov
r1'pow
,$ox
-oy
,oy
(z
*({
*(|
*0r-rE'ps
zo
u
-(.(c
ss
zov
o
EP1G]s'38D(}
rU'pot
(|
*(}
r_'pot
(|
*(}
rxpot
(|
*(}
rpot
(|
*(}
rpot
(|
*(}
rpot
(|
*(}
rq'pot
(|
*(}
r{'pot
(|
*(}
r'pot
(|
*

ov
r'pow
,ox
-oy
,
oy

ov
r'pow
,ox
-oy
,
oy


(}
r'pot
	(~
*r'po
oy
,r'po
oy
+r1'po
ox
-oy
,oy
 +, +oy
~
	 /	r'p	++ /	r'p	+ ?/	r'p	+r(p	(}
	ot
(
*~

r!(po
oy
,r!(po
oy
+r'po
oy
,r'po
oy
+r1'po
9-r;p+r1(p
oy
,Aoy
oe

(
,,
 0#(}

ot
oy
(z
*oy
,4oy
oe
r=(p(o
,(}

ot
 (z
*(}

ot
({
*-rEp+rE(p
oy
,moy
oe

(
,X
 1
 0	rW(p
+oy
 1rm(p
(}

ot
oy
(z
*(}
rm(pot
 (z
*(}
rpot
(|
*(}
rpot
(|
*(}
rpot
(|
*(}
r(pot
(|
*(-o
(R
sj
z0s(

o
(
*0tr(p(c
(S
s
(
*0*u(

o
s
o

o
o
	*
*0vsj
(~
-s
oX+fr(pr
pop
s7
o
o
oe
(
(
r(p(
(
s
oX
,oj
oW(
,r(ps
oXof*2Fx
(l
*{*"}*.sj*05w-r(ps
zu
-r)poT
(c
ss
zs"*0x-r*ps
z
u,s#
+>u,s
+.u,s(
+u,s
+u,s
oso
u,uoo
(\
u,uo

o
o
8o
o
(
o
o
(
(Bo
(
o
u,+(
o
to
3t1 o
	,K	o
(
o
,4o
o
o
(Do
o
(Bo
o
o
&oi
: ,oj
oo
	+	(
o
o
&	(
-	Zoj
o
*$u,u(]*u,
u(^*0yo
uW
,ro
o
o
u%,Wo
o
}
+/o
	o
o
o
u{		X
	o
o
2*0zo
9o
o
t
o
o
o
$3Uto
o
}
+*	o
o
o
t{		X
	o
2*o
3}{t*0{uo
o
s

o
o
s7
o
o
(
(
r(p(
(
s
(Xo
o
([
(o

	#@4r*psj
z	#ffffff@4	r*p=	#@4	r*p(	#ffffff@4	r(pr*p
,oj
*)
sJ*0|-r*ps
zu
-(,r*ps
zo
o
s

o
s
o
o
	o
o
	o
r*p(R
	s
o
&
	,	oj
*?T
0}-r*ps
zu
-(,r*ps
zs
o
o
o
o
o
s7

	o
	r+po
,o
o
3
	,	oj
*T?
0~-r*ps
zu
-(,r*ps
zs
o
o
o
o
o
s7

	o
r+p(c
	s
(
,(
o
o(
&
	,	oj
*T:
0sd

rX+po
&rx+p(
$(
o
&(W(
,,+r(ps
(Xo+o
8o
o
(+o
+o
(foh
&oi
-,oj
o
(+o
+o

	o
(eoh
&oi
-,oj
oi
:e,oj
oe
*(}#(^0sd

sd
o
9uo
o
o
o
o
to
o
o
o
o
t
oD
o
@1/r+p(
(oe
r7pr
pop
(
r+p{oD
o
(R
o
&r+poh
&r
po
o
o
o
+e(
o
o
o
-)r,p{oD
o
o
(R
o
&rN,po
o
&rp(
-doj
rpo
&r
pr\,p{	oD
o
(c
oh
&o
o
o
o

+e
(
	o
o
	o
-)r,p{	oD
o
o
(R
o
&rN,po
o
&rp
(
-
doj
rpo
&o
o
o

r,p
,
0oe
+r,pr,p(R
o
&o
&oe
oh
&oe
*r^r+0o

s
}{oD
o
,{oD
o
+a{oD
o
rpo
o
t,o
rpo
o
t+oD
o
{oD
o
r,ps
r,pom
&r
p
ok
o
+m(
r,p	(
o
o
(go
o
o
(ho
&rp
(
-doj
rpo
&o
&o
o
1vr"-p(c
oh
&r
p
o
o
	+#	(
rN,p	o
o
&rp
	(
-	oj
rpo
&o
&{o
>rj-po
&r-pr-p(
(R
o
&r-po
&{o

8
(
o
o
,`r.p(c
o
&r.p(c
o
&r/p(c
o
&rC/p(R
o
&r/p(c
o
&+r/p(c
o
&
(
:i

oj
r0po
&rpo
&o
&oe
*(zA090Io
oD

r0po
,o
o
r0p(

+rq'p(
-rp**0sd

o
ov

o
o
o
oD
r/0p(o
,Jo
o
oD
r=0po
:	r1'pow
9rG0poy
om
&8o
o
o
oD
rU0p(o
,c	r'pow
9	r'pow
9oy
,oy

+-rcpoy
o
&+eo
o
o
oD
re0p(o
,D(Ws
(
,0	r'pow
, oy
(
2rw0poy
om
&	r0pow
,oy
-r0poh
&	r0pow
9oy
2o
9o
o
o
oD
r0pou
,r0poh
&8o
o
o
oD
rBp(o
,{o
o
8(Ws
(
,ao
o
o
oD
re0p(o
,@rp,oy
(
/r
p+rBpoy
oe
rp(
om
&+r1ps
zoe
*
*Js
}(
*j(Js
(m}*{*"}*{*"}*{*"}*(n-s}
(o(no
*(p-s
(q(po
*0<(M,rpoh
&rM1poh
&{,r[1poh
&(l(E{,rq1poh
&{oC{,r1poh
&{oC(n,r1poh
&(n(E(u{-{,Nr1poh
&{,r1p{om
&{-r1poh
&+r?p{om
&(M,,rpoh
&(K,r#p(K(Bom
&*(p-*r1poh
&(p(E*(Q(lo
-(w(K,o
(Ko*0={-s
}{(y
{u,6{u{o-{u{{oo
8(
oo
	oKo{oo
o
,&o({o{oo
+{oo
o
(lo
(
:r!oj
{u,,{u{{o	*m0oo
oKo{oo
o
,&o({o{oo
+=o(~
-{oo
o
+{oo
o
(lo
*0s

u,
u(z*u-u,ku,{{;o
{	(y
u,{
,{
(yo
u9{{;o
&8uA9uAolo
8(

	o	o(~
-	o+	os}{o31	oo	oo	o,9	oo+*	oo	o,	o-
	oooK,
oKoo
(
:>!oj
*sn
zoK(~
-QoK{oK(q
,9o
+(
oKo(
-!oj
*~#0|s

{o
(Go

+H	o
oKo
s}o
ooK-{+oKoo
	oi
-
	,	oj
*Tp
09
o
}rN,p(R
{o
-*X
+0g{-*(lo
+2(

o
,!o(~
,+oo(
-!oj
**?U0'
0.-;8.C-./3YE7A8{-(lo
**(lo
*{*{*(lo
-(n-
(p**(lo
-(n-(p-
{**s
zsn
zv(Gs}
(s}
(*{*"}*{*"}*{*"}*{*"}*0nr
2poh
&(oCr2poh
&r
p
+Boh
&(o{
oCr]poh
&(o{
oCrp
X(o|
2(,r"poh
&(oC{,r/#poh
&{oC*sn
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>
    <Type Name="geometry" PrimitiveTypeKind="Geometry">
      <FacetDescriptions>
        <SRID Minimum="0" Maximum="9999" DefaultValue="Variable" Constant="false" />
        <IsStrict DefaultValue="true" Constant="false" />
      </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.30319lp`#~`U#Strings,2#US#GUID0&#BlobW)	%32H:`h

/(:
G(^
(6Lc~
)hF
~(
2Uji			
*


z


z

(
(


$(
?(z
:
.
Z
kj
u
uj&u;h^^^^^^^#^8^M^d^t^^^^^^^^^^)^\^n^^^^^^^^^ ^2^G^X^i^^^^^^^^^^^^$^
u+
(
(
(V
u(
.
&9Pg|#9NFoQd|
u
u-9
 (
 (E Z   
&&

'&)j>)^)q)j)j)j)j**~+j
+(+,^H,^,j-j
00
	76
47"7
K7"7
h7"7
7"7
7"7
7"7
7"7
7"7
80
80
*8"7
E8"7
~8^8
8"7
8"7
8&
98"9
19^8
Q9^899
:;:
}:^8
:z

:(
:(
:"7

;(
;(
<;(
Y;(
;(;;;
;(
;(
;(
<(
*<(
t<(
<^8
<(
<(
<(=
~=(=j=j=j>jU>^>^
@?(d?j
?l?
?(?j@^
P@u^@^r@^@^@jG=-A^\AjtA^A^B^
FB(
B(B
C"7
C(CCCCZDD=DD
D(
dE8
E8
E8
EuEEF7FFBFF
`F"7
kF(
F"7
F"7FFFFFFGxGG
H(HdI^
I(II
J(
J(
|Ku
iN(NN
N8
N"7NNON
(O(
/O(
<O({OjOjOO
P(+Pj
P
P
P
QDQ2Q
bQuQjQjQjRwRRRRjSj%SjSjSjSj
S(1Tj$3E3
W3Bc3	Iq3U3X3[3e3p3(t3(w3z3"}3('3(3(,.3(-;30H31X32i33v35363`=3`=3>3`D3D3E3`H3`I$3K)3M,.3M.F3M1a3N4~3N63N83R<3R>39^>3_B3dG3dI+3dJC3dK[3dLs3dM3dO3=dP3AdR3EeW3IegMq3Qq3Ur!/9s(V3u0f3w7v3{@Y{JU]W3k3/<~<%%BEAKK ?b!%b&-%
jw
|

"PW]$w
|
2O":qCadah.tq11111haVV
fcBB/Q!i!!r!aV+V
VVVhVLVcV~VVV Ta4@,@6aBa!~fa */FChCC1JiJ
LZL3< R!&	&	'	^(v(('
^(((Q)aQ	*aQ*aQ**aQ:*aQH*aQY*aQk*aS{*aS*a*3< 
1-B-C-d-o---(---.../('
^((v(<
gO+/!2EUKKK * . 3 7!<!	A!!	G)!1	K2!G	P<!X	U!w	[!	`!	f!	k!	p!
v!
z!:
"N
3	
"^
	"l
v	("t
	r"
	"
	"
	"
v	j"b:3	":	":v	"
	#33#=3%#LG2#XG?#e3L#y[#yd#v
w#
#######	$$$$)%H$6,V$D1 d$L8!r$U="$^B#$g$$oG%$L&$&$'$%R(%Z*&+"&G,/&G,<&K,Y&
n-H
s.x&Q
*/&f
z/p
1.'
v2'26'
v2>'
.2M'
*3U'
.3^'
G4f'
K4o'
G5w'
K5'
6'
s7'H
s88(
9c(
v:r(H
s:(p
;(
s<)p
=)
v>>?@ABCDEFG%)
H;)J=)K?)LA)MC)NE)OG)PI)QK)Ro)S)vT)H
sT)p
U)
vV)H
sV*p
W*
vX*
vX*H
sX+p
Y+H
sZ,p
[-
v\&-
\<- ^D-,^M-8*_U-F._^-T*`f-c.`o-r*aw-.a-*b-
b-b-H
sc@.t
dx..d.e/p
f%/
g4/H
sh/p
i/H
sj/p
k	0
vl0H
sl?0p
mT0
vn\0H
sn0p
o0
vp0.p0q1H
srT1p
s1
vt1
.t1H
su1p
v1
vw10w19w1H
sx1*y2
.yO2.z`2{2t

|<3p
|C3
T}Y3Pa3[j3fGr3tK|3H
s3p
3
s3['4p
.4
v64
vq42}4J4Y4v4*455666677778$88889 9(9098:A@;J;R ;Z';b.;j5;r<;zC;J;Q;X;_;f;m;t;{;;;;;;;;;;
;->G>U$>n,`?8?DBP C\Cc DlDu'E@~dE\EvE
vE<F	AFvF
vFdJ0K @L4LDdMTN
v NvO8P
vPsQwQwQ~Q+R
v>R\RvR,UPUULW$WX,ZLZ5.[J?L[^K[$\|\wS\\]]^^
v^v$`8l`Pa	a
v
a
v
aWB
aB'
sbp{b
v
bv
 c~Kc
vSc	
*Zc
ac
vic=qc
vycTc
vc
cc3Hddd
vdxe
ve+Lf9f
vf
EfM+gPv4gIg
v`gMvg
v~g
vg
vg
vg
vgM	h
vh
Xhe_ vi
n!ix"i.%i&i&in(i)j+Hj-dj/j1j3tk5k7k9k;l=0l?`lAlCl
vEl0El9El*Fl.Fl0Gl9Gl+0Hm>9Hn
vIp:IrNKtWLu`MvnOw|RxSxTyUzVdzWzX8{Y`|Z}[\]0^_`a	bdcd$e؇nfmWB3gmB3h*mH3i8m
H3jFmH3kTm%H3lbm1H3mpm=H3n~mIH3omUH3pmaH3qmmH3rmyH3smH3tmH3umH3vmH3wmH3x<|J
yN|YJ
znK.{|K|K
}хJL
~
- 3& <2 I
vQ WQ _Ue g\e ndk gk nr ur y 4   щ ؉  X _ f p ̊ Ԋ!!
!+!	G!G!	![!	([!	/l!	6!	=!	D!K!	R!Y!	`!g"	n9"uY"	|w""	""	"$	"-	#$	ԋ#5	&#-	&#=	6#D	LP#-	P#=	a#$	x#-	#$	#-	#$	nj#-	Ό#$	Ռ$-	܌7$$	O$-	e$$	$-	$K	!$W	($c	T$c	$c	$l	Ս$s	܍$l	$s	$z	5$	<$K	e$W	l%c	%	%c	Ȏ%c	-%z	 B%	IB%	PN%	yN%		Y%	
c%	؏o%	z%W	
%K	1%W	8%W	@%K	i%W	p%z	%	%c	̐%g%n%c	%%	,%K	l%K	&ؑ&&  #&"`#&$h.&&7&(7&*?&	,F&/LF&1TT&3T&5h&7ܓ9;$p&=d?p?r
	?w&	@&	A&7B&C&D
vE(&'	Eg:'	EnF'	EvR'F|'F'F'FΕ4(F֕?(FߕJ(GT(GH
sH*p
I1
vJ9
vJW4(
J_?(Jh(
Kp(
Ky(
L(
LH
sM\p
Nd);
O0)C
QLE)J
RO)S
SЙ)[
U)d
V)i
WP)p
X)~
Y՛
v[ݛ
.[*
\*
\7*
]D+
]Ȝ+
]&+
^|3+
_B+
`̢U+
ai+Gb+
ḅ
veԣ+
eܣ+
ef+
f8+
hT,
j2,l^,
ņw,pԨ,qܨ,r,)uT,x,8{T-@}+G~\W-Ne-Ujt-]m
v
y---
	.
.ŵ!.ε8.C.H
sXN.s|
[.m.Ĺw..x.n[D.p

v:4(B?(K
S
\(
d(
mJ(uT(H
sKp
`
v`8Bh
*hHE
4hQ
*xhh3
v_Knf
vK.+/+/+/+/+/+/+/1/:/>/L/Q/Q/Q/Q/Y/d/k/x/Q/Q/Y/d/k/x/Q/Q/Q/Q/Q/Q/Q/Q/Q/Q/Q/L/Q/Q///Q///////L/+/+/+////////////////////////////////////////+/+/+/+/+//////////////////0//+//L/0//00+/+////0/+/"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.090.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0/@0F090L0O0X0a0L/c0h0m0w0|00w0|00000w0|000000a0h0+/"0a00a0a00a0a0h0h0m0L/0:00L/0h00.0.0.000.0.0.0w0|00090	101.0.0a0L/c0.0.0.0.0.0h0h0m0w0|00.011$1c051c051??91E1R1_1i1i1o1w11111111d/11+/1111222*22A22V22k222222222222222232+/+/+/+/(3<3R30/j3u33<303300000000000000001000000000000000000/J/JK/J/J/J33003333333333333333333333334333433343131444G444h444h4x444x444444444444444444444544,544H544b544w544544544544544h444h4544544444444444444444444544,544644b544w544544544333333333333333333333333333333333333333331333433343331313363334333433333433$6Q/Q/Q/Q/Q/+/+/+///+/+/+///c0+/5656c0+/?60	1c0D6L/G6O6_6i6q6~6q66$1G6+/6*6"0"0:/h0:/h0:/?*?66?66?66<3666c006c0-+/+/+/////00160	1/+/+/+/+///DBXE+//JK		 "!#%$)%-&1'5
v
.
.	
.
.
.!
.)
.1
.9
.A
KI
.Q
KY
.a
.i
.q
.y
.

7
v	*	.	3	7	<		A999G9:+:J		k		p	
v
vT:	N
3	^
	l
vt

v:
-:
-
-:

v	
v
.
v33=3LGXGe3oG
;
v
*&;
)%6,D1L8U=^BgL!C;
9K; 
9k;1
9}; 
A
:
	
@

G
q;	!P
GGvK1;d
1<j
Q
v!Q
*Y1	<Qv
1<G9vQ<
!
vQ<
i
v1};
1=
1K;
,
v,
4	<
Q
4<GQ=3Q)=7,y
,4=3<y
<4=3<
v1>=d
!Q<
<s<
D	<
D<GL
vL4=3Ly
LL=$LX=*Ld=01k=7L
T	<
LsT<G1s=\
v
vd
v\4=3\y=
=*=op
u=y
*4(=l>>(>
*
*<>*1N>g>ot>a>>>>.>>ds<>*>o>o>yo?ty
0,s|4=3	g>o	?o	?o%?.?7?o
v1V?9V?dy
s
v
	<
<G4=3y
4(	?o??*!?V?,?<,y T@o"@lyp2@*
vsD@T
.	<
1=3y1<@	<
=o
v>os@o@:@@T	<
>gy@@<GswTD@Ty
v4=3y=
@o1AA	=*	A@oA?o=*AFA*@kAAy
!V?4=3?1A*AGA3y
AA
	<
<G>>AoAAoAA	<
)?o)fGg>oAoAA4=o
v1@1@o1@o$B$!B
$y=
,
-dRB$
v9
v9B;I
v9BA9CI9CP4
-90C^9ICj9dCp<
-9}C
.Q
*1CD
-L
is=qC
DD!7D!31GDd
1
!ysD*)C;
T
vTsq
vT(\d	<-d<GDAD3T>gAD*1<GlDGDq9DwDq9D{l
l>
9sy
X

vt2EE$ye_I
FVF
FHE*FF(HE
F4FIFu
v1
x. YEa
aFK1GiG*iPi
!,G*!?G.!RG*!eG.)G*)G.GG*PGG

1G*1G.
*
-
	<
sG0G6G*
*
N
*

*G*
NG*
*G*
g
*G*
N
v
v
v
vs
vH	<
D@Ti
.ys4=3
	<
<G9
.
vH	iIQ
I&Q
Iv
I,	<
1N>I	<
A+Ib4=3AHE*:	<
:I*1BIKI.SI$	<
vI,4	<
I
>QQ
Y
*YJDYI*<D	<
!IGa
*Q<a1L=G1Ika@&+
1I*iy aILDGL>
aJTDGaJT>
1N>!
*!J\
-iJ18yJyJG1BIC)J
9JG)JGiQ
*)KKdDGdK
Ly T1
a-K*1N>oKGKl>g1
*1-1k=L5Lv)-i;L
-LBLt
-)
*|4=3CJ)
Qy
a
.1:I*1LGLK1y 
vQLCv>QL
Qr Qy 	YL*
KYL6#D	QLQ 	Q c	Q K	DG>
Q!	QMQMQLQMQMQ'MQ4MQCM3QZM3QhMQyMQMQMQMQMQXKQMGQMKQMGQMGQ=QMQNQNQ&N*Q:NINYNQ&	Q&c	Q#&	Q.&	Q?&QF&	QT&c	Qh&	Qc	Qp&	
vsN1C

v9NPi
Vid
lQ
|Q
|)Q
6O9EOQQ YCM3	QO!^O3!

7s>g
.dd

.O1O*OD@T
.yaPa1P(><PG>aLP<aLPGabPQyPaPcypaPmyCwPP
.		
	Q*	vv
.Qv Q*	O	NQ3	XQ31N>};J
	<
	qQzQ
QF>-QMJT>!	
*!	Qh!	@	Jfsnd
	<
<GQ|)	Q@4=3y
t>R9	3R*
.HR.
w,,83R*UR*bR.A	
A	R3
v9	bR.RIRQ	4=3
8!RO1N>UY	R[	<
R~iR	<
	<
a	@SG;Sy
i	VSdygSi	ySdAST$	<
>$<GS&,y
y	S:@sQ
.	Ty Q<y1GC1I
*T!*T
.
v
v
vs4
v1GT*4D@T4s\B?<\!B
<D	<
4LPTX\`dhlpt|







.%.&.&.{{$.# .+ .{#.s.; .%.S . .K .3 .[ .C	!.cZ!.k .{!.s!c
accc`cccAcaccccs	sAcaccCcCCccccccc	c`	ca	c	c	c	c	c	c
c!
cA
ca
c
c
c
c
ccccc!cAcccc c@c`ccccc!cAcaccccc!c
`cccccc c@c@c`c@%c`%c,c-c -c@-c`-c-c-c-c@1c`1c1c1c1c1c2c 2c@2c`2c2c2c2c2c3c 3c@3c`3c3c3c3c3c4c 4cFc Fc@Fc`FcGc Gc@Gc`GcGcGcJcKcMcMcMcMcNc NcPc Pc@Pc`PcPcPcPcPcQ
Q
Q
R
D*
[
`
p
}




>MjAKPV[ 'GZagvp.Oqy2Wh=U[aou$>q[0b^Z~%@@* A F 	$ 4"6#:';-</@2A3B6F:


2i		
`
e:?Iq&yX+8KC&`:KKK&
'
''(((&(&(,
)1
)1
-i/1
#/(&81
)1
(&XE			



 !"#$%K!L!N#M#O%P%~''))++--/113357799;;==?1A2CUEhGgGiIjIkKlKmMnM)O+Q*Q,S-U.W/Y0[1[2]3]9_8_:a;a<c=cXeWelgmgnioiqkpkmmooqqssu
.



	FYa'8oxK^>GVv
#Nl'{7@PYmvOXTC[3-<_slu1 ! 'o9NJ(*COTTVTPTOUTUMU76DCE G6H6E)__1sy[ 3)}f<Module>MySql.Data.Entity.EF6.dllEFMySqlCommandMySql.Data.EntityEFMySqlDataReaderSqlFragmentInputFragmentTableFragmentJoinFragmentSqlFragmentVisitorReplaceTableNameVisitorNegatableFragmentBinaryFragmentInFragmentCaseFragmentColumnFragmentExistsFragmentFunctionFragmentIsNullFragmentLikeFragmentListFragmentLiteralFragmentPropertyFragmentSortFragmentUnionFragmentSqlGeneratorDeleteGeneratorFunctionGeneratorFunctionProcessorInsertGeneratorScopeOpTypeSelectGeneratorUpdateGeneratorMySqlEFConfigurationMySqlConnectionFactoryMySqlDependencyResolverMySqlProviderInvariantNameMySqlProviderFactoryResolverMySqlManifestTokenResolverMySqlModelCacheKeyMySqlModelCacheKeyFactoryEServiceTypeMySqlExecutionStrategyBackoffAlgorithmBackoffAlgorithmErr1040BackoffAlgorithmErr1614BackoffAlgorithmErr1205BackoffAlgorithmErr1213BackoffAlgorithmErr2006BackoffAlgorithmErr2013BackoffAlgorithmNdbMySqlHistoryContextMySqlLoggerMySqlMigrationCodeGeneratorMySqlMigrationSqlGeneratorOpDispatcherMySqlSpatialServicesMySqlSpatialDataReaderResourcesMySql.Data.Entity.PropertiesDeleteStatementInsertStatementMetadataMySqlProviderManifestMySql.Data.MySqlClientMySqlScriptServicesMySqlProviderServicesSelectStatementUpdateStatementSystem.DataSystem.Data.CommonDbCommandmscorlibSystemICloneableDbDataReaderObjectEntityFrameworkSystem.Data.Entity.Core.Common.CommandTreesDbExpressionVisitor`1EnumSystem.Data.EntityDbConfigurationSystem.Data.Entity.InfrastructureIDbConnectionFactorySystem.Data.Entity.Infrastructure.DependencyResolutionIDbDependencyResolverIProviderInvariantNameIDbProviderFactoryResolverIManifestTokenResolverIDbModelCacheKeyDbExecutionStrategySystem.Data.Entity.Migrations.HistoryHistoryContextSystem.IOTextWriterSystem.Data.Entity.Migrations.DesignCSharpMigrationCodeGeneratorSystem.Data.Entity.Migrations.SqlMigrationSqlGeneratorMulticastDelegateSystem.Data.Entity.SpatialDbSpatialServicesDbSpatialDataReaderSystem.Data.Entity.Core.CommonDbXmlEnabledProviderManifestDbProviderServicesdesignTimeVisibleDbConnectionconnectionMySql.DataMySqlCommandcommandSystem.Data.Entity.Core.Metadata.EdmPrimitiveTypeColumnTypesget_CommandTextset_CommandTextget_CommandTimeoutset_CommandTimeoutCommandTypeget_CommandTypeset_CommandTypeget_DesignTimeVisibleset_DesignTimeVisibleget_DbConnectionset_DbConnectionDbTransactionget_DbTransactionset_DbTransactionDbParameterCollectionget_DbParameterCollectionUpdateRowSourceget_UpdatedRowSourceset_UpdatedRowSourceCancelDbParameterCreateDbParameterCommandBehaviorExecuteDbDataReaderExecuteNonQueryExecuteScalarPrepareCloneSystem.Threading.TasksTask`1ExecuteNonQueryAsyncExecuteScalarAsyncTaskPrepareAsync.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_ParametersDbCommandTreeGenerateSQLCreateUniqueParameterNameDbVariableReferenceExpressionDbPropertyExpressionDbScanExpressionDbParameterReferenceExpressionDbNotExpressionDbIsEmptyExpressionDbFunctionExpressionDbConstantExpressionDbComparisonExpressionDbAndExpressionDbOrExpressionDbCastExpressionDbInExpressionDbLambdaExpressionDbLikeExpressionDbCaseExpressionDbIsNullExpressionDbIntersectExpressionDbNullExpressionDbArithmeticExpressionDbNewInstanceExpressionVisitNewInstanceExpressionDbTreatExpressionDbRelationshipNavigationExpressionDbRefExpressionDbOfTypeExpressionDbIsOfExpressionDbRefKeyExpressionDbEntityRefExpressionDbExceptExpressionDbExpressionDbDerefExpressionDbApplyExpressionDbUnionAllExpressionDbSortExpressionDbSkipExpressionDbQuantifierExpressionDbProjectExpressionDbLimitExpressionDbJoinExpressionDbGroupByExpressionDbFilterExpressionDbElementExpressionDbDistinctExpressionDbCrossJoinExpressionTryFusingSelectFuseSelectWithInnerSelectCanFuseSelectVisitAndReplaceTableNameVisitInputExpressionDbModificationCommandTreeGenerateReturningSqlTryPromoteToLikeVisitBinaryExpressionTryToPromoteToInTryMergeTwoInFragmentsTryMergeTwoBinaryFragmentsTryMergeBinaryFragmentAndInFragmentGetBinaryFragmentPartsForInShouldWrapExpression<Parameters>k__BackingFieldParameters<CommandType>k__BackingFieldbitwiseFunctionsdateFunctionsstringFunctionsmathFunctionsgeoFunctionscallingGenerator.cctorGenerateUserDefinedFunctionBitwiseFunctionGenericFunctionHandleFunctionRoundscopeTableAddRemoveGetFragmentFindInputFromPropertiesvalue__JoinUnionselectStatementsget_CurrentSelectTryFlatteningGroupByDbFunctionAggregateHandleFunctionDbExpressionBindingDbExpressionKindHandleJoinExpressionWrapIfNotCompatibleWrapJoinInputIfNecessaryVisitInputExpressionEnsureSelectCurrentSelect_onReturningSelect_columnsVisitedCreateConnectionGetServiceIEnumerable`1GetServices_providerNameget_ProviderNameProviderNameDbProviderFactoryResolveProviderFactoryResolveManifestToken_ctxType_providerType_customKeyGetHashCodeDbContextCreateIDbExecutionStrategyerrorsToRetryOnNullable`1TimeSpanExceptionGetNextDelayShouldRetryOnDEFAULT_MAX_RETRIESDEFAULT_MAX_DELAY_maxDelay_maxRetries_totalRetriesResetDbModelBuilderOnModelCreatingAction`1_actionWriteEncodingget_EncodingStreamWriterLoggerTrimSchemaPrefixSystem.Data.Entity.Migrations.ModelAddColumnOperationSystem.Data.Entity.Migrations.UtilitiesIndentedTextWriterAddForeignKeyOperationAddPrimaryKeyOperationAlterColumnOperationCreateIndexOperationCreateTableOperationDropColumnOperationDropForeignKeyOperationDropIndexOperationDropPrimaryKeyOperationDropTableOperationMoveTableOperationRenameColumnOperationRenameTableOperationMigrationStatement_specialStmtsDbProviderManifest_providerManifest_dispatcherget__generatedTablesset__generatedTablesget__tableNameset__tableName_providerManifestTokenget_autoIncrementColsset_autoIncrementColsget_primaryKeyColsset_primaryKeyColsMigrationOperationUpdateDatabaseOperationHistoryOperationIList`1ReplaceParemetersICollection`1GenerateProcedureBodyCreateProcedureOperationGenerateProcedureCmdParameterModelGenerateParamSentenceBuildParamTypeColumnModelSqlOperation<_generatedTables>k__BackingField<_tableName>k__BackingField<autoIncrementCols>k__BackingField<primaryKeyCols>k__BackingField_generatedTables_tableNameautoIncrementColsprimaryKeyColsInvokeIAsyncResultAsyncCallbackBeginInvokeEndInvokeInstanceDbGeographyAsBinaryDbGeometryAsGmlAsTextBufferContainsDbGeometryWellKnownValueCreateProviderValueDbGeographyWellKnownValueCreateWellKnownValueCrossesDifferenceDisjointDistanceElementAtGeographyCollectionFromBinaryGeographyCollectionFromTextGeographyFromBinaryGeographyFromGmlGeographyFromProviderValueGeographyFromTextGeographyLineFromBinaryGeographyLineFromTextGeographyMultiLineFromBinaryGeographyMultiLineFromTextGeographyMultiPointFromBinaryGeographyMultiPointFromTextGeographyMultiPolygonFromBinaryGeographyMultiPolygonFromTextGeographyPointFromBinaryGeographyPointFromTextGeographyPolygonFromBinaryGeographyPolygonFromTextGeometryCollectionFromBinaryGeometryCollectionFromTextGeometryFromBinaryGeometryFromGmlGeometryFromProviderValueGeometryFromTextGeometryLineFromBinaryGeometryLineFromTextGeometryMultiLineFromBinaryGeometryMultiLineFromTextGeometryMultiPointFromBinaryGeometryMultiPointFromTextGeometryMultiPolygonFromBinaryGeometryMultiPolygonFromTextGeometryPointFromBinaryGeometryPointFromTextGeometryPolygonFromBinaryGeometryPolygonFromTextGetAreaGetBoundaryGetCentroidGetConvexHullGetCoordinateSystemIdGetDimensionGetElementCountGetElevationGetEndPointGetEnvelopeGetExteriorRingGetInteriorRingCountGetIsClosedGetIsEmptyGetIsRingGetIsSimpleGetIsValidGetLatitudeGetLengthGetLongitudeGetMeasureGetPointCountGetPointOnSurfaceGetSpatialTypeNameGetStartPointGetXCoordinateGetYCoordinateInteriorRingAtIntersectionIntersectsOverlapsPointAtRelateSpatialEqualsSymmetricDifferenceTouchesWithinGetGeographyGetGeometryReturnGeometryColumnIsGeographyColumnIsGeometryColumnSystem.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__BackingFieldSetsValuesPrimitiveTypeKindGetNumericLiteralIsNumericTypeDbTypeGetDbTypeNormalizeValueParameterDirectionParameterModeModeToDirectionIsComparisonOperatorGetOperatorEdmPropertyEdmTypeGetPropertiesMetadataItemTryGetValueMetadataPropertyTCHAR_MAXLENVARCHAR_MAXLENMEDIUMTEXT_MAXLENLONGTEXT_MAXLENBINARY_MAXLENVARBINARY_MAXLENMEDIUMBLOB_MAXLENLONGBLOB_MAXLENDEFAULT_DECIMAL_PRECISIONDEFAULT_DECIMAL_SCALEmanifestTokenSystem.XmlXmlReaderGetManifestGetDbInformationGetStoreSchemaMappingGetStoreSchemaDescriptionGetEdmTypeGetStoreTypeGetXmlResourceGetMappingResourceGetResourceAsStringSupportsInExpressionEntitySetGetTableCreateScriptVersionget_serverVersionset_serverVersionGetDbSpatialDataReaderDbCommandDefinitionCreateDbCommandDefinitionSetExpectedTypesDbQueryCommandTreeSetQueryExpectedTypesDbFunctionCommandTreeSetFunctionExpectedTypesGetDbProviderManifestTokenGetDbProviderManifestStoreItemCollectionDbCreateDatabaseDbDatabaseExistsDbDeleteDatabaseDbCreateDatabaseScriptAssociationTypeGetAssociationCreateScript_pluralizedNames_guidIdentityColumnsGetColumnTypeGetFacetStringIsStringType<serverVersion>k__BackingFieldserverVersioncolumnHashhasRenamedColumnsgeneratorFromget_Columnsset_ColumnsLimitSkipget_GroupByset_GroupByget_OrderByset_OrderByIsDistinctAddGroupByAddOrderByWriteOrderByAddDefaultColumnsAddColumnGetDefaultColumnsForFragmentGetDefaultColumnsForTableMakeColumnNameUniqueIsCompatible<Columns>k__BackingField<GroupBy>k__BackingField<OrderBy>k__BackingFieldGroupByOrderByvaluebehaviorcmdwrappedReadernameordinaldataOffsetbufferbufferOffsetlengthsourceValuetargetTypedisposingidsqllistvisitorpropertiesfoldTableNamenewTableNametableNamecolumnNameinputNameobjsliteralpropertycolumnascendingcommandTreeexpressionselectouterinnersfoldTablenewTableetypetreereturningleftrightopbfinfLeftinfRightinflfSystem.Runtime.InteropServicesOutAttributecfcallerfuncsfragmentinputfaargjoinTypejoinConditionexpressionKindisRightPartconnectionStringkeycontextTypeproviderNameproviderTypecustomKeyothercontextlastExceptionexceptionmaxRetriesmaxDelayexistingConnectiondefaultSchemamodelBuilderactionindexcountlogPathappendtableaddColumnOperationwriteraddForeignKeyOperationaddPrimaryKeyOperationalterColumnOperationcreateIndexOperationcreateTableOperationdropColumnOperationdropForeignKeyOperationdropIndexOperationdropPrimaryKeyOperationdropTableOperationmoveTableOperationrenameColumnOperationrenameTableOperationmigrationOperationsproviderManifestTokenupdateDatabaseOperationparameterscommandTreesrowsAffectedParameterpoparamobjectmethodcallbackresultgeographyValuegeometryValuedistanceotherGeometrywellKnownValueotherGeographygeographyCollectionWellKnownBinarycoordinateSystemIdgeographyCollectionWellKnownTextwellKnownBinarygeographyMarkupproviderValuewellKnownTextlineWellKnownBinarylineWellKnownTextmultiLineWellKnownBinarymultiLineWellKnownTextmultiPointWellKnownBinarymultiPointWellKnownTextmultiPolygonWellKnownBinarymultiPolygonWellKnownTextpointWellKnownBinarypointWellKnownTextpolygonWellKnownBinarypolygonWellKnownTextgeometryCollectionWellKnownBinarygeometryCollectionWellKnownTextgeometryMarkupmultiPolygonKnownTextmatrixunderlyingReadertypeUsagemodemiversioninformationTypestoreTypeedmTyperesourceNameresourceBaseNameentitySetfromReaderproviderManifestcommandTimeoutstoreItemCollectionaIsKeyMemberbaseNameSystem.Runtime.VersioningTargetFrameworkAttributeSystem.ReflectionAssemblyTitleAttributeAssemblyDescriptionAttributeAssemblyConfigurationAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyTrademarkAttributeAssemblyCultureAttributeComVisibleAttributeGuidAttributeAssemblyDelaySignAttributeAssemblyKeyNameAttributeSystem.Runtime.CompilerServicesInternalsVisibleToAttributeAssemblyVersionAttributeAssemblyInformationalVersionAttributeNeutralResourcesLanguageAttributeSystem.DiagnosticsDebuggableAttributeDebuggingModesCompilationRelaxationsAttributeRuntimeCompatibilityAttributeMySql.Data.Entity.EF6MySqlConnectionset_ConnectionMySqlConnectionStringBuilderget_Settingsget_UseDefaultCommandTimeoutForEFget_DefaultCommandTimeoutMySqlTransactionget_Transactionset_TransactionMySqlParameterCollectionExecuteReader<ExecuteNonQueryAsync>b__0CompilerGeneratedAttributeTaskFactoryget_FactoryFunc`1StartNew<ExecuteScalarAsync>b__1<PrepareAsync>b__2ActionDefaultMemberAttributeGCSuppressFinalizeBooleanget_ClrEquivalentTypeDBNullGetTypeop_InequalityRuntimeTypeHandleGetTypeFromHandleop_EqualityDateTimeOffsetMySql.Data.TypesMySqlGeometryMySqlDbTypeget_InvariantCultureConvertIFormatProviderStringIndexOfAnyFormatget_CurrentMoveNextIDisposableChar<PrivateImplementationDetails>{94C6A8CC-6E4C-43BE-87B5-51DD14BFF709}ValueType__StaticArrayInitTypeSize=6$$method0x600026d-1RuntimeHelpersArrayRuntimeFieldHandleInitializeArrayAppendFormatNotImplementedExceptionReplaceEnumeratorget_Lengthset_Lengthget_CountIsNullOrEmptyLastIndexOfRemoveRangeInsertCompareEmptyPeekInt32get_VariableNameget_Instanceget_PropertyEntitySetBaseReadOnlyMetadataCollection`1MetadataPropertyget_MetadataPropertiesTryGetValueget_ValueEntityContainerget_EntityContainerget_ParameterNameConcatDbUnaryExpressionget_Argumentget_ResultTypeget_EdmTypeget_PrimitiveTypeKindset_ParameterNameset_DbTypeset_ValueDbBinaryExpressionget_Leftget_Rightget_ExpressionKindget_Listget_Patternget_Escapeget_Whenget_Thenget_ElseNotSupportedExceptionget_ArgumentsRowTypeSystem.Collections.ObjectModelReadOnlyCollection`1InvalidOperationExceptionget_ExpressionEdmFunctionget_Functionget_FullNameToInt32AddRangeDbDeleteCommandTreeget_Predicateget_EdmFunctionget_NamespaceNameContainsKeyIEnumerator`1DbInsertCommandTreeDbModificationClauseget_SetClausesDbSetClauseget_ReturningEntityTypeBaseget_ElementTypeget_KeyMembersget_TypeUsageget_BaseTypeget_QueryCompareOrdinalget_Inputget_VariableTypeDbGroupExpressionBindingget_GroupVariableNameCollectionTypeget_KeysDbAggregateget_AggregatesToUpperInvariantget_Distinctget_Inputsget_Applyget_JoinConditionget_ProjectionDbSortClauseget_SortOrderget_LimitDbUpdateCommandTreePushPop<>c__DisplayClass2<Visit>b__0pPredicate`1Find<.ctor>b__0CS$<>9__CachedAnonymousMethodDelegate2<.ctor>b__1Func`3CS$<>9__CachedAnonymousMethodDelegate3AddDependencyResolverMySqlClientFactorySetProviderFactorySetProviderServicesSetDefaultConnectionFactorySetMigrationSqlGeneratorSetProviderFactoryResolverSetManifestTokenResolverSetHistoryContextMemberInfoTryParseFunc`2SingletonDependencyResolver`1System.CoreSystem.LinqEnumerableDbProviderFactoriesGetFactoryGetProviderServicesGetProviderManifestTokenReferenceEqualsIsNullOrWhiteSpaceIDbModelCacheKeyProviderget_CacheKeyValueCollectionMySqlTraceLogInformationMySqlExceptionget_Numberget_Messageget_HasValueMathPowget_TotalSecondsMinFromSeconds<>f__AnonymousType0`1<MigrationId>j__TPar<MigrationId>i__Fieldget_MigrationIdMigrationIdDebuggerBrowsableAttributeDebuggerBrowsableStateDebuggerHiddenAttributeEqualityComparer`1get_DefaultSystem.Data.Entity.ModelConfigurationEntityTypeConfiguration`1EntityHistoryRowSystem.Linq.ExpressionsExpressionParameterExpressionParameterMethodBaseRuntimeMethodHandleGetMethodFromHandleConstructorInfoMethodInfoMemberExpressionPropertyNewExpressionNewExpression`1LambdaHasKeyset_AutoFlushStartsWithget_TableForeignKeyOperationget_PrincipalTableset_PrincipalTableget_DependentTableset_DependentTablePrimaryKeyOperationset_Tableget_Inverseget_IsDestructiveChangeIndexOperationget_PrimaryKeyset_PrimaryKeyget_NewSchemaget_NewName<.ctor>b__2<.ctor>b__3<.ctor>b__4<.ctor>b__5<.ctor>b__6<.ctor>b__7<.ctor>b__8<.ctor>b__9<.ctor>b__a<.ctor>b__b<.ctor>b__c<.ctor>b__d<.ctor>b__e<.ctor>b__f<.ctor>b__10<.ctor>b__11GetProviderManifestArgumentNullExceptionMigrationget_MigrationsAnyAppendLineget_HistoryQueryTreesget_Operationsget_SqlEndsWithset_Sqlget_CommandTreesDbCommandTreeKindget_CommandTreeKindget_DbTypeBitConverterProcedureOperationget_BodySqlget_IsOutParameterPropertyModelSubstringToLowerget_MaxLengthget_Precisionget_ScaleByte<Generate>b__27cCS$<>9__CachedAnonymousMethodDelegate29<Generate>b__28CS$<>9__CachedAnonymousMethodDelegate2aget_DependentColumnsSelectget_PrincipalColumnsget_CascadeDeleteStringComparisonget_ClrTypeget_IsArrayget_IsIdentityget_IsNullableGetValueOrDefaultget_DefaultValueSql<>c__DisplayClass2esortOrder<Generate>b__2dget_IsUniqueIDictionary`2get_AnonymousArguments<>c__DisplayClass38keyFields<>4__this<Generate>b__35col<Generate>b__32<Generate>b__33<Generate>b__34CS$<>9__CachedAnonymousMethodDelegate37ClearToListForEach<Generate>b__3cCS$<>9__CachedAnonymousMethodDelegate3dget_SuppressTransactionset_SuppressTransactionget_ProviderValueFromTextget_WellKnownTextget_WellKnownBinaryget_WellKnownValueFromBinaryget_Areaget_Boundaryget_Centroidget_ConvexHullget_CoordinateSystemIdget_Dimensionget_ElementCountget_Elevationget_EndPointget_Envelopeget_ExteriorRingget_InteriorRingCountget_IsEmptyget_IsRingget_IsSimpleget_IsValidget_Measureget_PointCountget_PointOnSurfaceget_SpatialTypeNameget_StartPointget_XCoordinateget_YCoordinateActivatorCreateInstanceSystem.CodeDom.CompilerGeneratedCodeAttributeDebuggerNonUserCodeAttributeAssemblyget_AssemblySystem.ComponentModelEditorBrowsableAttributeEditorBrowsableStateDoubleSingleValueTypeCodeGetTypeCodeget_DateTimeget_Year$$method0x6000225-1EntityTypeComplexTypeSystem.Data.Entity.CoreProviderIncompatibleExceptionParseToLowerInvariantget_StoreTypeNameToEdmPrimitiveTypeArgumentExceptionCreateBinaryTypeUsageFacetget_Facetsget_IsUnboundedCreateStringTypeUsageCreateDefaultTypeUsageget_StoreTypeNameToStorePrimitiveTypeCreateDecimalTypeUsageGetExecutingAssemblyStreamGetManifestResourceStreamStringReaderTextReaderStreamReaderReadToEndOpenget_ServerVersionMySql.Data.CommonDBVersionget_Majorget_MinorKeyValuePair`2CreateParameterget_Keyset_Directionset_MySqlDbTypeFunctionParameterget_ModeCreateCommandDefinitionStructuralTypeget_MembersBuiltInTypeKindget_BuiltInTypeKindDbConnectionStringBuilderget_ConnectionStringset_Databaseget_Databaseset_ConnectionStringMySqlScriptExecuteGetSchemaDataRowCollectionget_RowsInternalDataCollectionBaseget_NowItemCollectionGetItemsget_BaseEntitySetsOfTypeAssociationSetget_IsForeignKeyReferentialConstraintget_ReferentialConstraintsget_ToPropertiesget_DeclaringTypeget_FromPropertiesNewGuidAssociationEndMemberget_AssociationEndMembersRelationshipEndMemberOperationActionget_DeleteBehaviorEnvironmentget_NewLineop_GreaterThanOrEqualToByteStoreGeneratedPatternToUpperMySql.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})DistanceGLength(LineString(GEOMFROMWKB(ASBINARY({0})), GEOMFROMWKB(ASBINARY({1}))))!BuiltInAttribute1NiladicFunctionAttributeQNiladic functions cannot have parameters {0} ({1})! row_count() > 0!last_insert_id()	GuidKANY(SELECT guid FROM tmpIdentity_{0}) AND `{0}`=C0C1	K{0}EdmBigCountCOUNTX+ row_count() > 0 and -MySql.Data.MySqlClientReTrying to retry for non transient exception number: {0}, message: {1}ARetrying query for exception {0}!{ MigrationId =  }h	dbo.%AddColumnOperation-AddForeignKeyOperation-AddPrimaryKeyOperation)AlterColumnOperation)CreateIndexOperation)CreateTableOperation'DropColumnOperation/DropForeignKeyOperation%DropIndexOperation/DropPrimaryKeyOperation%DropTableOperation%MoveTableOperation+RenameColumnOperation)RenameTableOperationSqlOperation!HistoryOperation1CreateProcedureOperation/UpdateDatabaseOperation?DROP PROCEDURE IF EXISTS `{0}`;%_idempotent_scriptDELIMITER //1CREATE PROCEDURE `{0}`()BEGINA  DECLARE CurrentMigration TEXT;i  IF EXISTS(SELECT 1 FROM information_schema.tables U  WHERE table_name = '__MigrationHistory' M  AND table_schema = DATABASE()) THEN 9    SET CurrentMigration = ();  END IF;E  IF CurrentMigration IS NULL THEN?    SET CurrentMigration = '0';3  IF CurrentMigration < '' THEN ;
END //DELIMITER ;CALL `{0}`();dbo0x7CREATE PROCEDURE `{0}`({1})
BEGIN 	 END{0} {1} {2},INOUT	charvarchar
({0}) ( {0}, {1} ) Ealter table `{0}` add column `{1}` Galter table `{0}` drop column `{1}`alter table `` modify `` sset @columnType := (select case lower(IS_NULLABLE) when 'no' then CONCAT(column_type, ' not null ')  when 'yes' then column_type end from information_schema.columns where table_name = '+' and column_name = '');[set @sqlstmt := (select concat('alter table `` change `` `)` ' , @columnType));7prepare stmt from @sqlstmt;execute stmt;1deallocate prepare stmt;`%` add constraint ``  foreign key references `	` ( K on update cascade on delete cascade datetimetimestamp	time; DEFAULT CURRENT_TIMESTAMP{0}( {0} not null  unsignedtinyintsmallintmediumintint
bigint! auto_increment 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}` KEY (`{0}`),create table `` (primary key ( A) engine=InnoDb auto_increment=0drop table `%` add primary key  `'DeleteAutoIncrement;  alter table `'` drop primary key 7rename table `{0}` to `{1}`geometryValueotherGeometrywellKnownValuewellKnownBinaryprovider valuewellKnownText
matrixGeometrygInvalid Geometry type reading operation on type {0}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.xml+StoreSchemaDefinition%StoreSchemaMappingsThe 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	boolutinyint	guid
doublefloatPrecisionScaledecimalFixedLengthtinyblob	blobmediumbloblongblobUnicodencharMaxnvarcharmediumtextlongtextgeometryAMySql.Data.Entity.Properties.{0}".5.57fromReader must not be nullSpatial readers can only be produced from readers of type EFMySqlDataReader.   A reader of type {0} was provided.commandTreeuVersions 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 ||u UNSIGNED
String	text
 ({0})DecimalDateTime( {0} ) Nullable NOT NULL+StoreGeneratedPatternInt- AUTO_INCREMENT UNIQUE;Invalid identity column type.
SELECT DISTINCT 

FROM 

 WHERE 

 GROUP BY  LIMIT 	{0},)18446744073709551615

 ORDER BY UPDATE  SET ̨ƔLnCQ	z\V4ahȉiMei     m m   a a q q u y y  } 
    (((m((a(q(u(y     	 

 	 

    
       
    ((  	    t 8T8  D 4 < H @ 0 , 8 P P8  T T 8 T((T 	 (  8tx x
                   	 
   	  ! % ) - 1 5 9 = A E I M Q U Y ]  a e i m q u y     A }A HAA AA , 000 0,, 0,0 ,P8 A	
(m`	 `  	    Tx	  	  A   A(	 a  ,MySql.Data.MySqlClient a a   5	


   
  a 	   (	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
   
 
 	} 
 
                     !  % ) ) %	 ))
	 %%
	 )) - 1 -) 1% ))) %%%	 %%	 
))	 
%%	 ))	 %% % % % % % ) ) ) ) ) 
) 
% )) ) % ) % %% ) % ) %
 ))  % )5959959 	 
 (	(=AEI
MQ	U?Y Y Y Y ] a a U
 e  i m  aq aq q u ]  M a(a	8 `	 8
 8	 X
 X X 8t 8 8 X	(8	(X ŀ$$RSA1squ,x)A&JACq_<_eZ@gюzF}zQ$q(X
	i$[JNPc O\Nec2n8b1A
lk>   	    0

 	Item 	   

  	-1 8 P	 99P  P9P   99   T9T9xT A0
 
T8\ A
 EIEI  MAI(<l  Q = A 	=  
 AA 	A	80PH4DL
 EMaM8
]8X9X*,XX999X9X
8$ L i HH,	00,,0,
 8P8P0 8Pm mi 

A	 qqA@LAqA 
 yyqy
)
u}}Aqyqy 
 EE	  LA=\T
iA
@8@ 
 	+]A88qA@
 98!88988
 qq
\}Aqy,  II=aa= %  ] !I I - 1
a= a=	

55
a]a	 	 	 


 


 ( 	 	
0
		

0

      	   
 q	  q  	8q9&q9
 !
! 
 iiqi!q!
 	q5|i!qiq!q
 }}q} %`}q}%q A
q`}q}%
 q	  q
  ,	
 

 9 f	 ==9
 	
 		 =	 	)
 )
)		 -)))
))) 
 ) )		@3System.Resources.Tools.StronglyTypedResourceBuilder4.0.0.0 M M5 9 U  
=
i=a 	 i)II Y

 iii
 EuEu
i	iQiu	i	i"iEuuuu=M yYyMyY} yMy	aa q	 E 
 EE I 9 e0
`i}}q9a]Qi QEi

    e
0a
MaMqM
 EA

]]q]
q u&M]qMq]q
 Ea EMM
 Ea 2eeMMMM e )eMM9uuEuuu88898'888889898MqM8M8qM898I.NETFramework,Version=v4.5TFrameworkDisplayName.NET Framework 4.5MySql.Data.Entity for EF6#Entity Framework 6.0 supportedOracleMySql.Data.EntityPKCopyright © 2008, 2013, 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
6.8.3
en-USTWrapNonExceptionThrowsڰR,,RSDS 4`JYOX*c:\Jenkins\Jobs\C_Net_6_8_Compilation\Workspace\Source\MySql.Data.Entity\obj\ReleaseEF6\MySql.Data.Entity.EF6.pdbp		 	_CorDllMainmscoree.dll% 0HX 4VS_VERSION_INFO?DVarFileInfo$TranslationhStringFileInfoD000004b0XCommentsEntity Framework 6.0 supported0CompanyNameOracle\FileDescriptionMySql.Data.Entity for EF60FileVersion6.8.3.0TInternalNameMySql.Data.Entity.EF6.dllKLegalCopyrightCopyright  2008, 2013, Oracle and/or its affiliates. All rights reserved.\OriginalFilenameMySql.Data.Entity.EF6.dllDProductNameMySql.Data.Entity0ProductVersion6.8.38Assembly Version6.8.3.09

Anon7 - 2022
AnonSec Team