From b903d0a172277e481f229f779d0330e13eaba5d1 Mon Sep 17 00:00:00 2001 From: ss Date: Fri, 11 Aug 2023 15:34:39 +0800 Subject: [PATCH] qq --- .../20230801Server_Side_tentative/v17/.wsuo | Bin 14336 -> 14336 bytes .../.vs/Answer/DesignTimeBuild/.dtbcache.v2 | Bin 294621 -> 294621 bytes .../.vs/Answer/v17/.futdcache.v2 | Bin 3180 -> 6649 bytes .../.vs/Answer/v17/.suo | Bin 93696 -> 145920 bytes .../ProjectEvaluation/answer.metadata.v7.bin | Bin 278013 -> 277957 bytes .../ProjectEvaluation/answer.projects.v7.bin | Bin 2320486 -> 1646928 bytes .../.vs/VSWorkspaceState.json | 3 +- 20230801Server_Side_tentative/.vs/slnx.sqlite | Bin 962560 -> 958464 bytes .../DTO/Comment/AddCommentDto.cs | 5 - .../DTO/Exercises/ExercisesData.cs | 13 + .../IAnswerScoreService.cs | 2 + .../IArticleService.cs | 9 - .../ICountService.cs | 7 + .../IExercisesService.cs | 5 +- .../Answer.Application/AnswerScoreService.cs | 8 + .../Answer.Application/ArticleService.cs | 56 - .../AuthenticationService.cs | 1 - .../AutoMapperConfig/AutoMapperProfile.cs | 12 +- .../Answer.Application/CommentService.cs | 21 +- .../Answer.Application/CountService.cs | 21 +- .../Answer.Application/ExercisesService.cs | 43 + .../ApplicationDbContext.cs | 11 +- .../20230811010759_init.Designer.cs | 1325 +++++++++++++++++ .../Migrations/20230811010759_init.cs | 837 +++++++++++ .../ApplicationDbContextModelSnapshot.cs | 1322 ++++++++++++++++ .../Answer.Model/Comment.cs | 2 +- .../Answer.Model/Exercises.cs | 6 + .../Controllers/AnswerController.cs | 21 +- .../Controllers/ArticleController.cs | 73 +- .../Controllers/CountController.cs | 16 +- .../Controllers/ExercisesController.cs | 28 +- 31 files changed, 3667 insertions(+), 180 deletions(-) create mode 100644 20230801Server_Side_tentative/Answer.Application.Intrefaces/DTO/Exercises/ExercisesData.cs create mode 100644 20230801Server_Side_tentative/Answer.EntityFrameworkCore/Migrations/20230811010759_init.Designer.cs create mode 100644 20230801Server_Side_tentative/Answer.EntityFrameworkCore/Migrations/20230811010759_init.cs create mode 100644 20230801Server_Side_tentative/Answer.EntityFrameworkCore/Migrations/ApplicationDbContextModelSnapshot.cs diff --git a/20230801Server_Side_tentative/.vs/20230801Server_Side_tentative/v17/.wsuo b/20230801Server_Side_tentative/.vs/20230801Server_Side_tentative/v17/.wsuo index b0bb5ce4be0c70a7ce3ce2ba81607d56a04692a8..c89e98cf103662459792e36eba4443f0c3fb6002 100644 GIT binary patch delta 827 zcmb7By-UMT5bukxX{;~(OjAFqwOA0uVnaWSqv)iCR;atSnz={@$BqgjnDY;Ca#r&X z2wemh{VSZ@GN^<4F0~~QQG9SD+}-cv?z)|B=c*IHP@_Or>SVE0te1zg9nMRuA7Yw0Dh2J#) zGES484ST9sLD31Go8%GUf!sIY9+e4Nzz%%yn8BjMkwiXd)Iy3A{~j zFa!*|_j_iV(m>Zubc+;TW;SJ)f5bE2ipw zdBvM`QW=OTC7cLM4#RC{d<{xd`kN;h_6>5oMBy-9V+mdmJ?*wL#{^4RlikaCA-1VBiInp6f|Gi1$ML!6de9r!ps#Rb zsp~%(ZNlC7A`HFZQihIy@m3dQ@_j20H+8`@r>T+#JHtI}F2wAzNg PUvBS~45Mm47n9@@A{adl delta 654 zcmZoDXeij=!^FrwS&>Pet-<^WgY=orMNEB+KoLe3X-z%`28MtC|NrL!(m?7z2ax85 zvIU?tCy@R(F;IGP0t*L=Ads^$a0=rjCLgGw2`?Xm4P{%#r~xt#WDE@O1NkCA3^EdA z4Hu9GSvC0sr^w_G77-R+AO~dJCa%LkHZzb1vvqQ#h|1(Id;vTlGsJ)xWF}a!gx{Z+ z5#&%dBvBq=AcvC?NC3ekzQYt5w)u;2022?$Ga&cDEZ$tA62iy<@(xU7@)y+$JRpt` zilBo3%F(M3vjxWyG!owy&244FaXFUIe?OU>jc8%;s@rvH|@>Ln>R1MMANh* z)|$E2uZFvDv6MOGbIE(KNIJ)*0o7sU5Sq zUfp5lo9jxINwZ$7mnuz7FBtiBPcD)p8jU zoM=r>nvJGexVBoKE?130Lp#NJw61Ql*5BZZk#rPOHF zjb^o;1<-V}TFW-4>ZZA>SzT4Fn5!m@vRTPy(wW}$P`YQrtnV`G+b2o|b9>VST{cU* z%|vD>VtMyoS3)k-#3s=%ip2eK8jIhaa&AEyey=UUGjE0W5s5T*+vW>!Y7V;|9lg?x(3e%0Or82{`&NsT< z!ZluLn)PZeb)~V(n8?>lwPxzdiSe0Qwcg}>5H_&>M$X0hQm$^)XM@t;6G!?J)mA-k zI)X!P&Ru5~um6cz=x=6HTg^S7?gpe2m~aFt7ZcuMPPWQMeQZyyZZ>Fv_GbBsPA|Bb z*3Grm-4)tBp3S;B=Yd%>D+TBsOQzV?9S!|a4ca)N`8&9~Qq5N@#nPm9P0sJl}29E3113(>*KUpUlef^_iXwp`9Nx>GY6xNOuu>pqkN~Y5-lS zHkyTUDR-fEY`0mjSL<~X3-Ib%9XM!e2X>Qh4r-4jx(jBpR54d?-7+#dcG23gHQO$~ z2&xTUgWJ=18{M>JY-IChB>T6gw{P0A{c`wW>)00jWx)3fyd`0r5A=jT=m~x!6ZS@C zd*~aP;7|32eX7^+z<)=Rrc`C1H*V0EtLA0Ujrpo&qjqlt}>3NSX> zWObZ`alJCzP|(faxF@3)3;~e1(rQG(p}{+mOsL#GQ{XHlFpBth-d{%VDm~ z(!}_|EK|lpwdRicd**G#Hc>Rmq6buI0j5f4N;nV5<{swDn9ckJ!bme>`{bHZqh*xW z7>!aMrYLEhS)o;9Ocio`g%-7#*On^1nUq(zE3|sVV$xJ$D37zqvzVVNv|J=<&NTAX zIutFMh8am3VB0pDMx|iX3pAPONRn}8L15Y**CW6XpovXInb?|E5k}QyN^ga>JIa)t zSsSnoU>>+y$+uuEUvWe%$CWTCh`ZuSZG2{?)xr^iFe3JyF(!^nhCT+O=}eqv0;e$r>0_68 zY!_%Ax=*t((tveLs`9-ts$A~VZjUkTt+O>;G=@b_nB$_NSE5ZGXQ$anj^uTu-2%u4 zE5=T{6-}qgi!n33BJBjQenPi{E73H&B5jOGYWUBD*%ZcTB;O*{CP|ni6KN;6wq#7= z>P9I~`f{?$=rp>~Se8y<5z{5U1T-%rt@)lbx!iPRj3$3ulr>*W9+&1FpNR2Fu}V{q zW&jbOa9CyqN0T^AMN#I7CamUdg=K7~F}hD2pQ@X;4v-g@L9eZspn)gJuZN)wE`d|6 z$5za@R;y)4=aHImqRxrDVhN9}jA6<+%S)QDTcWI2(f6Ti>&9*_OCw5ISW2=*REspx z*@^*PF{v#rSgM+FYUfOpDXy#5XN+beHPWc`&=L}<$-t7^YB+U1()xFKxtha~6P@fI zMfWBvG@8dz;YC!0{eB6On`?SL|j!T933vK^bLxCUV)XZn4F{ zNQdYs+ZJbP|FjS%qx~OrMdr zpx2tY(Q=6|%||-CK2Op zOE-pgv^4`h@vtluL-)&)x&~ZMt8A()(%QHwhwiO>)LNYQV0d z{FG2$BlSTNk|r4$=}fYa*ciAB(xMaTnx35E_tPF1bGM2AQsE9pT(+z*lzEI3oy`0UYb;m4hq_&amqm+faBVDTwWr2D& zk5V2YbrWJNkZK(1Xq2TS*Q01VCTD5$3h@2q)1r|Y#7sLM8WsQQk>+Zg)R7m zi--3M7mi|llLE06I#3D3eSwVvj#(S2$HH#}EDBh5inJ@? z36GYI(u`BiqRnbINpWZWNO`gf(`8ePhe)l$U=~K1gV+8@yWy-vL^|jQmYcMzk#0%| zPIs)5uNL^+_8n2KDFrjI2?DW9G@SaqKMK9vzP&tB8zxu@*Y&4|M`6D}saS%TCTx*C z(usf02q}4yno2w=P&Gu{snO6KE3`{L@klTz=*r=$Hu7G$`CiN!LIbLsi^5{0wD(gwQ zf$K0-ztIGSaV7ytqOP$UeJKhECl-BcxD`TW8l=k|oiZvFlX>t*t6H8Y5inA(F;~D% zum`S8T*qkXiMFsxhDQNS)|-uNi6MgQ=hs-L___%w1g~o!R%;(UEG9Py9qW6v9+ua*D;I=(?M@ z92Mz?K}^y+pGdl=NG)Yd^SZUwJj@z1PpC-i07-AA>`gIptwO3yv8;iP)QBTeZiWD| zv~`YjAs+mN5X6-bt7{M)mxOFRqPqzD5MVppWMy@K zPX=P?VnC}Ih%2&68|<#OnyY<*O`VYE5IhG0!qfExT(&WbuydFU9JLXg_zHX%elJy; zEKutlpE$CcMmt{(0f#Umw01a&;R_OBc;8jpq1~-!aR}0=wVFgKSW}>(^h@~*A*?M1 zt_6D;qZ+U7fvEP{R5uG9o+q*T7AlwHwgUSLCdg?9V}(+)3Z8TrEh1%-Kj??G2fO5? zLf6FG2>Q;rZe(+Kh(eYoLW6okp!c%5%Pemn+zw%l4G7uq;bevOkju*Ir7)o&^85-7 z7FC%ru`vVQfFokO_Z8af1ujBD6o&`kh4we{i1ZNJmaA#u47zSca|G^V-{*%9EIKwl zL_TC63(wQVhe>y1+&XLJ^M5GQG?swuW7k&ITf9zuGfu%= zwAC7^;UZuz%F#*H8T_3&(rRKfbLhgLA+Kb|y??`59@>fCpRy1?vQ)tbr$`TI^gXaz z;MvJ*w{FUgz~V!`4Ck^G3J&RiL?LUNRo|m6Mr9gixSdC*;s-IF4ls)!bV%_<_SF06 zc={r&0mJL?uk*&~`19Bvvz{+CAYvq^NI)A9;Iy#kl+)$-cp_h|n+}_vKe#Ly`aQd? z2Cj!Dl1|!3;mh<9{D|Na#;G|$zBoZW{_*!?#vR3ZescsAemiQM$R_-9+&C9W`1Q!~ z^`&Xk^8@lB{Gcz;(4m{_w>2QA8mUR-`7+-Z*a1Oc=&W?Y$y~AvgSw718sJNAcW+O~i;24rw^eL5)I*gWZ3d=^+me{|)V|ppT$U)D*rEdaep!mUPBZu+12H z{!cI*tzs>+Ky5GPomwHMWx~#53gHdkf#3<`Xe#HN4XpHVk_Iuh!QIt4iAqp6IU@!O zbVNr=`BVjlJhS4lQqrAc5C}QMVp(dg(=@U^Hk|t5us~0m0^QYSQDJ4XX=?XG#S&Q- z^m8OAhVNd`9*da?M=g|rAgw$Z#!$HJ8~NcA&#U7pf)gj+uq5tyobiAW#9UFng;P6t zlBPKksd9fEuzQ-23r2k1v8Bcc>V}VG;K#;b>-wCqyiwO)&+%cusXte=Nj1mZYPAV-@_hYyNXJg3eg* zMeJWpd3W^~z-gNy`-7On`giw|G{;+G9L9L7{{l{ZxL*wqOFrshX?1^&X`=a#5n$&j z_)1G_;mxvJSR97hEFg>rEEG#hcJb#p+`1HLYy2pNHU;)NSZb3IboxQ(HE6kr6T%FP zLKs*J@tw+`nGpy>6A}+%(6%W{Mm&2#yH43>E8gQ4w40TE*_jfAAucSDG@(x=L+%?@ ze_uFMLEEAF#5@N9 zNT(2J^@!8M8Cp3_bJMVy@P6a&prpQ3bdfu_8* zg+`E_RiLmF;swt+O-*^*N>(Sh&s~ZCa$>aw8*Ctfw8a7JGyBrp9A3t7H%`yA9WDMk$r{fRcuic_L5xTYBjoGh$ zjKWfI!t|@J7v6aFp2+;_?ImwwSiZ`tv&5T(cUOt}5gr73M&ljMjYY3VA>_Woxf`cV zk&;5?DL2@qG_YfFQpek!OzIYtPsw;w6QbX%@97|^fPnYfR0JhEFvfi(^))1{y_StYDjvx`l0p|6 zyk7nIk!{V<3aYh4zAS~PSKs82RKz`!>U%emgeMTac7tkVxv}T9YgK<6L*Qatth^rJ zhgpPq^*PJG&Ni*9FQP07F^+sRYGR?|)i>oRgFjll`UaMy6Br;q8jZ1-@apR`N+R{; zkyH&9`Ca|k4kZwSy+@M*5AuSIhw|`os(7F1iC@8kM`e{Bf6<;{>D1~xEMraMyBQO?u7UyGO-jZ!I6JwTZ z&DatZqLiy&pkbn7Empoj!#*xeovUx)oj|!l_;K}S9TUdc%Iw&}bcKCaRE0rK%o}4| zyCbf29pR;@;?b2DkXr~Ou6|6(GSiJ69zk2>lu9vNcmy4olM0kaZ-nsZS}1Q)bXk$b z1Xu61$Fjk9mrXa3@EG3e zt)Jjjov_`pB}XH5t8ZF@rNi>5+*LL>DIVAs)7+`LuM1972*Dj!DV5rmz3~Vd6lPof z)G$|aBnBq`I;hYMrmemY3P?wY`xjx&BMA#3v(;NE(9Pj7opi4`hEK$dQa-ciq$0XF zDt9&TglPs}8X*?8`gvq;VyH9a?nmAvq%oB8v6?3}9^_i#u5`!yhor-;w`dAMK=`0Y znjbd+uNb{L0-f<_&M1a*uMbxYZ;a{)iZmC*AC_AEyss-4k3_A$YmgI>>Z$rxK~kZ| zmqPifpCBC%F&$+Ar0KD!(vcPk7D!tCnw%UvTKzPMCj}lZTK&q5H$t>}R~Ke)C?9j; zhov~s>gP^H6HvJq5F7d{cXhxIN9RR`UzcM#tKaB>sd(pSuwzudCl8bHMEq6XAdw`z z!J4B{7bL_qM&mQ9H&ci#EF`n~H9`0D-aJvapWdm^Eby{+t`x>?V(nG1i02RAc9Mg0 zLhZR2?L-n-4~9K>96F8EcX_?qs%dct*b582781k`tJ9ftM=wN35~eD&)8@o!%gBiG zPCy2QdRl5^xnTbNaox1r_G{|1zBwHp8+SQf-&;P>Y!yn?Y$lz_ka(f33dAbTI^n9b zqpf-!LQrMblqy+crZCW#Q%=xlZHxM(wKL{PTsw#-f4UO`5twxA zg%J8MFdXH01>%AWp!EwZzD~?M66yO|IKy#bx>Orsfuyy=$04|2DPL-m=i1p0hdd-( zAfK1`)VPpclG*_nHZ-H1<)pdbi4oVi`A&(8vUa4jr7?IOV~Rq)XaOmnXAdEQiq7bX3Ko9gJqlu@sFKiZZ` zbLrkti*@LRVSyK%=5`V-$SmY1=B7=vP%C$Dge z)7UL8PXWoPNMU-;6u``+5mn{lzc_KqLSn9S)2NZ3!qW=FmDg6u@Kv_roT<^>1zr^{ zE*+r)3lkF%9srI#Xw~WI52|I`6DV6yC^*$Aiv`Bb!+?}ksMZV=lebf&5Sva#GLv&B zGXbYqm<<&P1y=wTpiOmFZ4VU7Nlk?~!3k`F(@`J_ii!ksffBfDc`DMl*-b-^>gImF zC(~}9@9UtJ?zidhpkzi#S9N`$Ac73gytQYy_+(i6TGiY#;5g?dmwg&1Zb{kf6CsLh zkohFpaHA{-i+AVdMB4_WPl~07nek@?m4b0eWVnh2({p+5YrF6a4jTRW{(+w1-aa!u zG^`-RALE&EMR?o@W?Q3aR0>AD;If%X!AVB#Sf}~?V6LaPSj-nPg+igfN5M8y#-_j+ z;dHCBEayi0bNO9-QCNB)LdLI;J;L?X&d*N#z(ug^Q}NP6pGYi=u?=r=_zez8xCr)r zm2c@DViNnotP<^S^Gl;bgrx@#n?nR_#kc$UPVrcZDkNBXh=DmI;GB{?2r5x-utpWa zL|UR;R*5u5K+Xu^AXSL7bWejh@ZpkE;iFDTmN~a>9)LE#3EY6iTQfy8Y(k$Kg zbMCy6SSHftg9TS>g)e=>*W7}++!C3J!7_P5jjG76rH5slTPzR5M6zqSWWqF)D@xnV zg3riV`U0;{6oEs+JF_gESg9`8i#LXqTb5!R*Nt4);&fB{DwYRCOJ7X&so04N%dAEc z0hKOUsnD)+t5M*Oln7>Nk>BwjPn1|!gvIMzxuq4%Dv^ej7lf$bU3qySyo=Vl7;Tfs zwRKrve7#g|tp{>Sw0@&gOGN|;oU1|(b@MJ^ToM^rf8~*ZN0p@^P!}PNZy>I`znY6- zA{h%zC<1X=O^E)x2*G^4*V5w!N=@q={1Ult3dm2#17C$a>Sis&`6P1i7MPbdF@~`U zQPj7mnxym;el>2b8B`hm6!8$~z~su#nj z>`S726v3irBfmUyd)?TL?hfuy)n$G0hSt*eDoHA4th;QIQgJ32X$El zFOP)(YaISrpze`IrDqY$`z)%Z$10bY7a1g+v#}j}03pUzFs^)TC-6u3X6?H-(l?J> zz6cq7R-f|rJ%m>x51V=MU{pwlpelz#6M*K0|I7)#%cCDnv5W{E^>y$PZ> zV{-?SLcWn*dSA^)X%4xFQ%#AXWMPq*x( zJTX*Mu&;ckU=DtXT&&;l;8aMWyx;I}NO)&`xc3P^X+VV(%KPvTUWq)cAM|2eQ&)vR z%KO1EW{E^XKPc21=fDIN;zZF8`Z*=Cu#pl7ES<=pLJ;L6B|n=)iko?BoARCaphAwN zhbZv3zdlBZBtkD3aGrz;S)%9#16U=}Y;p62KveL*^bN%Ryl{`x5L&CiQ!rFW5JhVh z$SlbNwnBz`q*ZXQe1(i}-oC*pE#wE`zAT?My4Qj>=V zOApo{u?l<mP3eF=bFZ?_lX8)o%-eYVQ!Mks=RJr}@XOrliS&ihe?~oi7 zk|?(tgIV>JB0Ppi1^pM{>wIf^QeW#a2pT6^S73B#vtKb?44Nn%PK@zSOoXJ&NY(WNo0~pz*hAzQ=H>}7Qwu) zkypN|C-6u37Ht{`1V&FRS_J1lwMSypa1IIYY&H{Rf+zAJQj3tnr+?+MnIXIqdBpk) z@{n_?79oT$Df3&aNuqPs_6tXisbF4t+b{4( z_-6Bw5LhYj1Tz&vD4&lEW0pw7c4)gG6*4H_q3yCqxMsds!q0g2nhMsH`(jBv68@RD zyZlT%)=h;l%Dvs^VwgzA*05!uaD1E!!IZCI&%rN|i}lwcjt2o!A(8U_I*?N$3-i+z z5bPK{6_P0T(+%J=EKk%9_oK`cms27O^C1#s^&aD=B4?EQ5QTC}WMXy-MkQ?3^JW8P z2aJNb80Sr&d8^z`k(rco#g)Kw4&iTUu7q$Kk}Gs?hze06%oX88#*(vM!_MwP_s4*P z6jcbc^ur&ewVZi)CONcYKKYz88&wFn^aIY?70_XtNXT|DINDGli1Hl_ET_aB4D2_x ze#6SwCH!m>t#hl{d!VHX?W?z%y*v{B+3Xb)kHn{~)|{C|B|E>A&t8S_O5`a^^<0uC z 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 literal 294621 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 OIiQulqjz7j68_(Hi9y2v delta 351 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 I;q3DIUwE}!e*gdg diff --git a/20230801Server_Side_tentative/.vs/ProjectEvaluation/answer.metadata.v7.bin b/20230801Server_Side_tentative/.vs/ProjectEvaluation/answer.metadata.v7.bin index dadb7e7d633ae17e279dd2c3c89ab3d5fe567322..ab49a692f84dcfbc8042100f779dd13ee9a9a69a 100644 GIT binary patch delta 826 zcmZ9LSx8i27=}IP`*d=dnd83Yl2T@-j%FfhNtk7k=vam=)M&OKkw#z$iFz>@lBgNJ zP)X)pSB-@pyG+Uur6kEE(A?`vP>Gm^$^My75Ya{nKb+DiOLXh82HK-h?ov`FkxLQ9={*pR5O4SnD zXXqZ9+9?yt7t+J@T1vv;Cn}QaQEH&9juip#{7MVR`zF>8j?q4(G*TAo6KEUW&Qge4 zHAY^tWOiOh^t!wY*>jZGUTC|Ee=PEz^SB)+d=%pGi6+!T3YYf-)@o zB7T8t)v_s?A@rE&JPMY`Q}tRTGwVHDeH_Nz4B}{FAHia$M0NN(`6*ajp+h+Qi>~3K z4;P~(iqmn@MyF92&F4Tm&Q&AVNGsu4f}D@8Te3IyTPXsmvHVg^vy+uvhyjVONX0Nd zmh+$?*8PW*F1TJP&t(sIJdkxTS}6mwTE4!?cK|Wq&MmqrtKw{%E~fDbUf3xW>kaY| z%o+v!<4Ilqa|E~JMj)3UN-Jv52k|8s;(4=s@G9k?uvymNX$Xf(yZ@7T1>6d2$F;ND!Q#g`|lWDMn@Re=p*|4o%xAkb_T*>D@82`=SFW=qBf3iIuaK# zv767Tf)gn@6y~7olt^pZ!x30hIL+w@bqRb&AAcjriHsAo`hABBnZB1Ro%V(xr?SOm yyvM-zk*woT2<=liX5fk~n0hpg%iSFlSjq&S`XriwsM(2}_v@w|$qX#N}E@8{wJnwVv z`?^og&tdbkusJr$l^mr$d{QPCpt)U)+u?8Zi&nop>!+TMxpUR7!R^e?^Ewuk6sSd- zx3avtq;YF~?S{{*eKi}`*Kb_o-P({_yJg;RX^FGIUE-OOr<(&5ZHGNb+w_$4WYP4{ zE&5Wx*GVoMI4?BRUl7@-zfC^Ox+%)h&`WXp?Orm<&Wi9i*nXYjaOZ~F{ZJPvK#+0~ zf0yz^4U+rlQ`qiN8v^HqU*FV6%Y@$1PruV}r)>0iXrg{UNLC@XV@F8NhwT{6gyVrU z;SR_onsH?}Ek@7xWWeQLC=2r+$XFEpN&|3RBPZ@>kr@|zNfWK8aZn*_Avpz2nyL(6 zBQJurWXFuPq@nLOrSgxXkrFp9-c`$!_oxm_9?L?Qughdu`>6?vfD6G^vf{a)67{PC zw399CLLUs1kBU=cUgLM!v-cvH!_)Q7KgnXop&Ypg-J4}RW)4w0HYf7OI76HUAF~fF zPiY1YYMg?@ znIjHj)NJVc;+2E(6Zwbuh=WyEqzBzgr2!Q+avVDB>g?BsUT6DOn)zs%$}7>7%9Uf} zI`Fr0pxVd6J6#!iKV~e<;jb*kUFjo26Vz;MU%K45S6BCMeN20xUHqZ9j*}U_Xvu))Dn!&#vXa*nS_7A@VUN9kP z|HHcd7PFvkBV+S+j#fdZ047Vp=?6`jg138J6}0b|u29d(%E$)QYqDJ!O>ev00paa( z2SgqQPyZjz$jZnARq2o`hNg1*pG3xG?H9_#wqGa{ZwcZ+@!E8t*UUISKD@^c^wmA~ z=?AwmRc}|A$OAOP3gl5M5fHVGCA_ksbA CHoRm2 diff --git a/20230801Server_Side_tentative/.vs/VSWorkspaceState.json b/20230801Server_Side_tentative/.vs/VSWorkspaceState.json index 8c40311..e355534 100644 --- a/20230801Server_Side_tentative/.vs/VSWorkspaceState.json +++ b/20230801Server_Side_tentative/.vs/VSWorkspaceState.json @@ -1,6 +1,7 @@ { "ExpandedNodes": [ - "" + "", + "\\Answer.Model" ], "SelectedNode": "\\Answer.sln", "PreviewInSolutionExplorer": false diff --git a/20230801Server_Side_tentative/.vs/slnx.sqlite b/20230801Server_Side_tentative/.vs/slnx.sqlite index 243ea1dea373137c9d58bb3e6778c40011ac4b1a..d5e50f4587dfb8dd6a101cfc5527cdc39ece1f2a 100644 GIT binary patch delta 29657 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
|QBw!`XNIv-;4Itb?m`ae}+moj?1m8KWN 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 diff --git a/20230801Server_Side_tentative/Answer.Application.Intrefaces/DTO/Comment/AddCommentDto.cs b/20230801Server_Side_tentative/Answer.Application.Intrefaces/DTO/Comment/AddCommentDto.cs index 87a415a..f99b76f 100644 --- a/20230801Server_Side_tentative/Answer.Application.Intrefaces/DTO/Comment/AddCommentDto.cs +++ b/20230801Server_Side_tentative/Answer.Application.Intrefaces/DTO/Comment/AddCommentDto.cs @@ -9,11 +9,6 @@ namespace Answer.Application.Intrefaces.Dto.Comment { public class AddCommentDto { - - /// - /// 评论文章 - /// - /// public Guid ArticleId { get; set; } diff --git a/20230801Server_Side_tentative/Answer.Application.Intrefaces/DTO/Exercises/ExercisesData.cs b/20230801Server_Side_tentative/Answer.Application.Intrefaces/DTO/Exercises/ExercisesData.cs new file mode 100644 index 0000000..84ce01b --- /dev/null +++ b/20230801Server_Side_tentative/Answer.Application.Intrefaces/DTO/Exercises/ExercisesData.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Answer.Application.Intrefaces.DTO.Exercises +{ + public class ExercisesData + { + + } +} diff --git a/20230801Server_Side_tentative/Answer.Application.Intrefaces/IAnswerScoreService.cs b/20230801Server_Side_tentative/Answer.Application.Intrefaces/IAnswerScoreService.cs index 57e6d57..756a9c1 100644 --- a/20230801Server_Side_tentative/Answer.Application.Intrefaces/IAnswerScoreService.cs +++ b/20230801Server_Side_tentative/Answer.Application.Intrefaces/IAnswerScoreService.cs @@ -9,9 +9,11 @@ namespace Answer.Application.Intrefaces { public interface IAnswerScoreService { + //每日排名 public Task AnswerRanking(Guid modelid); // public Task ChallengeRanking(); + } } diff --git a/20230801Server_Side_tentative/Answer.Application.Intrefaces/IArticleService.cs b/20230801Server_Side_tentative/Answer.Application.Intrefaces/IArticleService.cs index afe22a8..8a21450 100644 --- a/20230801Server_Side_tentative/Answer.Application.Intrefaces/IArticleService.cs +++ b/20230801Server_Side_tentative/Answer.Application.Intrefaces/IArticleService.cs @@ -10,15 +10,6 @@ namespace Answer.Application.Intrefaces { public interface IArticleService { - //点赞排序查询 - Task GetLikeRanking(); - - //浏览排序查询 - Task GetPageViewRanking(); - - //评论排序查询 - Task GetCommentRanking(); - //查询全部 Task GetAllArticle(); diff --git a/20230801Server_Side_tentative/Answer.Application.Intrefaces/ICountService.cs b/20230801Server_Side_tentative/Answer.Application.Intrefaces/ICountService.cs index 9f7fc9e..6c0e567 100644 --- a/20230801Server_Side_tentative/Answer.Application.Intrefaces/ICountService.cs +++ b/20230801Server_Side_tentative/Answer.Application.Intrefaces/ICountService.cs @@ -11,6 +11,7 @@ namespace Answer.Application.Intrefaces { //获取全部数量 public Task GetAllCount(); + //修改总数 三连 public Task UpdateCount(Guid ArticleId); @@ -25,5 +26,11 @@ namespace Answer.Application.Intrefaces public Task UpPageViewCount(Guid ArticleId); + + + + + + } } diff --git a/20230801Server_Side_tentative/Answer.Application.Intrefaces/IExercisesService.cs b/20230801Server_Side_tentative/Answer.Application.Intrefaces/IExercisesService.cs index fbbde17..b741576 100644 --- a/20230801Server_Side_tentative/Answer.Application.Intrefaces/IExercisesService.cs +++ b/20230801Server_Side_tentative/Answer.Application.Intrefaces/IExercisesService.cs @@ -25,7 +25,10 @@ namespace Answer.Application.Intrefaces public Task RandomOneExercises(Guid id); //挑战模式 public Task ChallengeMode(Guid Userid, Guid typeid); - + + + //分页模糊查询 + public Task PagingFuzzyGetAllExercise(string keyword = null, int page = 1, int pagesize = 5); } diff --git a/20230801Server_Side_tentative/Answer.Application/AnswerScoreService.cs b/20230801Server_Side_tentative/Answer.Application/AnswerScoreService.cs index 904a149..a1fb1f2 100644 --- a/20230801Server_Side_tentative/Answer.Application/AnswerScoreService.cs +++ b/20230801Server_Side_tentative/Answer.Application/AnswerScoreService.cs @@ -28,6 +28,7 @@ namespace Answer.Application /// + /// 答题的排名 /// /// @@ -37,11 +38,13 @@ namespace Answer.Application var data = await _ScoreRepository.GetByManyAsync(e => e.AnswerModeId == modelid); + if (data.Count <= 0) { return HeaderHelper.Fail(404, "排行暂时未出来"); } + return HeaderHelper.Success(200, _mapper.Map>(data).OrderByDescending(e=>e.score)); } /// @@ -53,5 +56,10 @@ namespace Answer.Application { throw new NotImplementedException(); } + + + + + } } diff --git a/20230801Server_Side_tentative/Answer.Application/ArticleService.cs b/20230801Server_Side_tentative/Answer.Application/ArticleService.cs index 9051e73..f3a02ba 100644 --- a/20230801Server_Side_tentative/Answer.Application/ArticleService.cs +++ b/20230801Server_Side_tentative/Answer.Application/ArticleService.cs @@ -12,9 +12,6 @@ using System.Threading.Tasks; namespace Answer.Application { - /// - /// 文章接口 - /// public class ArticleService : IArticleService { private readonly IMapper _mapper; @@ -39,14 +36,12 @@ namespace Answer.Application var result = await _baseRepository.AddAsync(Article); if (result) { - //文章id插入总数表 Guid articleId=Article.Id; var count = new Count { ArticleId = articleId }; await _count.AddAsync(count); - return HeaderHelper.Success(0, ""); } @@ -180,56 +175,5 @@ namespace Answer.Application { throw new NotImplementedException(); } - - /// - /// 点赞排名 - /// - /// - public async Task GetLikeRanking() - { - var data = await _baseRepository.GetAllAsync(); - //排序 - var tmp = _mapper.Map>(data); - var res = tmp.OrderByDescending(e => e.LikeNum); - if (res.Any()) - { - return HeaderHelper.Success(res.Count(), res); - } - return HeaderHelper.Fail(404, "暂无文章"); - } - - /// - /// 浏览排名 - /// - /// - public async Task GetPageViewRanking() - { - var data = await _baseRepository.GetAllAsync(); - //排序 - var tmp = _mapper.Map>(data); - var res = tmp.OrderByDescending(e => e.PageView); - if (res.Any()) - { - return HeaderHelper.Success(res.Count(), res); - } - return HeaderHelper.Fail(404, "暂无文章"); - } - - /// - /// 评论排名 - /// - /// - public async Task GetCommentRanking() - { - var data = await _baseRepository.GetAllAsync(); - //排序 - var tmp = _mapper.Map>(data); - var res=tmp.OrderByDescending(e => e.CommentNum); - if (res.Any()) - { - return HeaderHelper.Success(res.Count(), res); - } - return HeaderHelper.Fail(404, "暂无文章"); - } } } diff --git a/20230801Server_Side_tentative/Answer.Application/AuthenticationService.cs b/20230801Server_Side_tentative/Answer.Application/AuthenticationService.cs index 2d45734..60eb8f9 100644 --- a/20230801Server_Side_tentative/Answer.Application/AuthenticationService.cs +++ b/20230801Server_Side_tentative/Answer.Application/AuthenticationService.cs @@ -28,7 +28,6 @@ namespace Answer.Application } - /// /// 登录 /// diff --git a/20230801Server_Side_tentative/Answer.Application/AutoMapperConfig/AutoMapperProfile.cs b/20230801Server_Side_tentative/Answer.Application/AutoMapperConfig/AutoMapperProfile.cs index d88f24c..9d08748 100644 --- a/20230801Server_Side_tentative/Answer.Application/AutoMapperConfig/AutoMapperProfile.cs +++ b/20230801Server_Side_tentative/Answer.Application/AutoMapperConfig/AutoMapperProfile.cs @@ -8,6 +8,8 @@ using Answer.Application.Intrefaces.Dto.Exercises; using Answer.Application.Intrefaces.DTO.ScoreRanking; using Answer.Application.Intrefaces.DTO.Count; +using Answer.Application.Intrefaces.DTO.Exercises; + namespace Answer.Application.AutoMapperConfig { @@ -42,15 +44,7 @@ namespace Answer.Application.AutoMapperConfig CreateMap(); - - CreateMap() - .ForMember(e => e.LikeNum, opt => opt.MapFrom(e => e.Count.LikeNum)) - .ForMember(e => e.PageView, opt => opt.MapFrom(e => e.Count.PageView)) - .ForMember(e => e.CommentNum, opt => opt.MapFrom(e => e.Count.CommentNum)); - - - - + CreateMap(); } diff --git a/20230801Server_Side_tentative/Answer.Application/CommentService.cs b/20230801Server_Side_tentative/Answer.Application/CommentService.cs index acdbe04..2da75a4 100644 --- a/20230801Server_Side_tentative/Answer.Application/CommentService.cs +++ b/20230801Server_Side_tentative/Answer.Application/CommentService.cs @@ -19,6 +19,7 @@ namespace Answer.Application private readonly IBaseRepository _baseRepository; private readonly IMapper _mapper; + private readonly IBaseRepository _count; public CommentService(IBaseRepository baseRepository, IMapper mapper, IBaseRepository count = null) { @@ -28,20 +29,30 @@ namespace Answer.Application _count = count; } + public CommentService(IBaseRepository baseRepository, IMapper mapper ) + { + _baseRepository = baseRepository; + + _mapper = mapper; + + } + // public async Task AddComment(AddCommentDto AddCommentDto) { var addcomment = _mapper.Map(AddCommentDto); - + if (addcomment is null){ return HeaderHelper.Fail(500,""); } var data = await _baseRepository.AddAsync(addcomment); if (data) { + //var count = await _count.GetByOneAsync(e => e.ArticleId == addcomment.ArticleId); //if (count is null) { return HeaderHelper.Fail(404, "µû"); } //count.CommentNum++; //var a = await _count.UpdateAsync(count); //if (a) { return HeaderHelper.Fail(400,"bzd"); } + return HeaderHelper.Success(200,"ӳɹ"); } @@ -55,12 +66,13 @@ namespace Answer.Application { //ִɾ var result = await _baseRepository.GetByIdAsync(id); - + var data = await _baseRepository.DeleteAsync(result); if (data) { + //// //var count = await _count.GetByOneAsync(e => e.ArticleId == result.ArticleId); //if (count is null) { return HeaderHelper.Fail(404,"µû"); } @@ -68,10 +80,13 @@ namespace Answer.Application //var upcount = await _count.UpdateAsync(count); - //if (upcount) { return HeaderHelper.Success(200, "ɾɹ"); } + //if (upcount) { return HeaderHelper.Success(200, "ɾɹ"); } return HeaderHelper.Fail(500, ""); + + + } return HeaderHelper.Fail(500, "ɾʧ"); } diff --git a/20230801Server_Side_tentative/Answer.Application/CountService.cs b/20230801Server_Side_tentative/Answer.Application/CountService.cs index 0141eba..79a7f8e 100644 --- a/20230801Server_Side_tentative/Answer.Application/CountService.cs +++ b/20230801Server_Side_tentative/Answer.Application/CountService.cs @@ -26,6 +26,7 @@ namespace Answer.Application public CountService(IBaseRepository baseRepository, IMapper mapper, IBaseRepository
article = null, IBaseRepository count = null) { _baseRepository = baseRepository; + _mapper = mapper; _article = article; _count = count; @@ -48,15 +49,11 @@ namespace Answer.Application return HeaderHelper.Success(data.Count, data); } - ////根据 文章id 查询该文章的评论点赞总数 public async Task GetByIdCount(Guid ArticleId) { var data = await _baseRepository.GetByOneAsync(e => e.ArticleId == ArticleId); - - - if (data is null) { return HeaderHelper.Fail(404, "没有该文章"); } @@ -121,12 +118,18 @@ namespace Answer.Application } return HeaderHelper.Fail(404, "没找到"); } - //三连 + + + + + //修改总数 public async Task UpdateCount(Guid ArticleId) { - var id = await _article.GetByOneAsync(e => e.Id == ArticleId); + var id=await _article.GetByOneAsync(e=>e.Id==ArticleId); + var data = await _baseRepository.GetByOneAsync(e => e.ArticleId == ArticleId); - if (data is null) { return HeaderHelper.Fail(404, "没有该文章"); } + if (data is null) + { return HeaderHelper.Fail(404, "没有该文章"); } data.LikeNum++; data.PageView++; data.CommentNum++; @@ -139,6 +142,10 @@ namespace Answer.Application return HeaderHelper.Success(200, ""); } return HeaderHelper.Fail(404, "没找到"); + + } + + } } \ No newline at end of file diff --git a/20230801Server_Side_tentative/Answer.Application/ExercisesService.cs b/20230801Server_Side_tentative/Answer.Application/ExercisesService.cs index 18204d8..6de3b78 100644 --- a/20230801Server_Side_tentative/Answer.Application/ExercisesService.cs +++ b/20230801Server_Side_tentative/Answer.Application/ExercisesService.cs @@ -11,6 +11,9 @@ using Answer.Application.AutoMapperConfig; using AutoMapper; using Microsoft.AspNetCore.Identity; using Answer.Application.Intrefaces.Dto.Exercises; +using Answer.Application.Intrefaces.DTO.User; + + namespace Answer.Application { @@ -137,7 +140,9 @@ namespace Answer.Application public async Task RandomOneExercises(Guid id) { var data =await _baseRepository.GetAllAsync(); + //获取记录表 + var answerdata = await _answerRepository.GetByManyAsync(e => e.UserId == id); List exercises = new List(); @@ -175,6 +180,7 @@ namespace Answer.Application ///挑战模式 的随机出题 要改 + public async Task ChallengeMode(Guid Userid, Guid typeid) { var data = await _baseRepository.GetByManyAsync(e => e.TypeId == typeid); @@ -203,5 +209,42 @@ namespace Answer.Application return HeaderHelper.Success(10,AnswearList); } + + + /// + /// 分页模糊查询 + /// + /// + /// + /// + /// + /// + public async Task PagingFuzzyGetAllExercise(string keyword = null, int page = 1, int pagesize = 5) + { + var allexercises = await _baseRepository.GetAllAsync(); + + int skinCount = (page - 1) * pagesize; + if (keyword is null) + { + var data1 = await _baseRepository.GetAllAsync(); + + var data2 = data1.Skip(skinCount).Take(pagesize); + return HeaderHelper.Success(allexercises.Count, _mapper.Map>(data2)); + } + + var exercise = await _baseRepository.GetByManyAsync(e => e.QuestionContent.Contains(keyword)); + + if (!exercise.Any()) + { + return HeaderHelper.Fail(400, "暂无数据"); + } + + + var data = exercise.Skip(skinCount).Take(pagesize); + + return HeaderHelper.Success(data.Count(), _mapper.Map>(data)); + } + + } } diff --git a/20230801Server_Side_tentative/Answer.EntityFrameworkCore/ApplicationDbContext.cs b/20230801Server_Side_tentative/Answer.EntityFrameworkCore/ApplicationDbContext.cs index cd57f66..0daacbe 100644 --- a/20230801Server_Side_tentative/Answer.EntityFrameworkCore/ApplicationDbContext.cs +++ b/20230801Server_Side_tentative/Answer.EntityFrameworkCore/ApplicationDbContext.cs @@ -14,9 +14,12 @@ namespace Answer.EntityFrameworkCore { public class ApplicationDbContext:IdentityDbContext { + public ApplicationDbContext(DbContextOptions dbContextOptions) : base(dbContextOptions) - { + { + } + /// /// 用户表 @@ -159,6 +162,12 @@ namespace Answer.EntityFrameworkCore ///题目表 builder.Entity(entity => { + + + entity.Property(e=>e.ExerciseId).ValueGeneratedOnAdd(); + entity.HasAlternateKey(x => x.ExerciseId); + entity.HasTableOption("AUTO_INCREMENT", "800"); + entity.HasOne(e => e.QuestionType).WithMany(e => e.Exercises).HasForeignKey(e => e.TypeId); entity.HasOne(e => e.QuestionCategory).WithMany(e => e.Exercises).HasForeignKey(e => e.CategoryId); entity.ToTable("Asp.Net_Exercises"); diff --git a/20230801Server_Side_tentative/Answer.EntityFrameworkCore/Migrations/20230811010759_init.Designer.cs b/20230801Server_Side_tentative/Answer.EntityFrameworkCore/Migrations/20230811010759_init.Designer.cs new file mode 100644 index 0000000..ea467fd --- /dev/null +++ b/20230801Server_Side_tentative/Answer.EntityFrameworkCore/Migrations/20230811010759_init.Designer.cs @@ -0,0 +1,1325 @@ +// +using System; +using Answer.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Answer.EntityFrameworkCore.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + [Migration("20230811010759_init")] + partial class init + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.9") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("Answer.Model.AnswerModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ModelName") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("Asp.Ner_AnswerModel", (string)null); + + b.HasData( + new + { + Id = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + ModelName = "" + }, + new + { + Id = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + ModelName = "" + }); + }); + + modelBuilder.Entity("Answer.Model.AnswerRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("AnswerId") + .HasColumnType("char(36)"); + + b.Property("AnswerModeId") + .HasColumnType("char(36)"); + + b.Property("AnswerTime") + .HasColumnType("datetime"); + + b.Property("IsOrNo") + .HasColumnType("tinyint(1)"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("AnswerId"); + + b.HasIndex("AnswerModeId"); + + b.HasIndex("UserId"); + + b.ToTable("Asp.Ner_AnswerRecord", (string)null); + + b.HasData( + new + { + Id = new Guid("45c683df-1a72-4fc1-9e75-f8b661a04355"), + AnswerId = new Guid("27fb8e31-3a78-430b-adaa-564f5f71ea08"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + AnswerTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4970), + IsOrNo = true, + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }); + }); + + modelBuilder.Entity("Answer.Model.AnswerScore", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("AnswerModeId") + .HasColumnType("char(36)"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.Property("score") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("AnswerModeId"); + + b.HasIndex("UserId"); + + b.ToTable("Asp.Ner_AnswerScore", (string)null); + + b.HasData( + new + { + Id = new Guid("0b5b242f-56a9-4b93-86e9-95090b3cc07f"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), + score = 100 + }, + new + { + Id = new Guid("b5b4ee6e-80e0-422b-9859-5c1cb7e45b84"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), + score = 110 + }, + new + { + Id = new Guid("d79b16a1-423f-4e94-8852-1d7f47ce8e74"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), + score = 120 + }, + new + { + Id = new Guid("bf4bad40-9d0c-4571-8518-51c845f9d127"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), + score = 150 + }, + new + { + Id = new Guid("2cbe102f-a40e-478c-9aea-b9839bbd686b"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), + score = 113 + }, + new + { + Id = new Guid("80dcbc8e-9b66-4668-9e27-5cf5d40a5d38"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), + score = 114 + }, + new + { + Id = new Guid("8f320eaf-1c39-4d9c-a937-2c0f7c478258"), + AnswerModeId = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), + score = 110 + }, + new + { + Id = new Guid("2cc1f53b-f5b4-48d0-9f8e-80da488a9c4d"), + AnswerModeId = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), + score = 100 + }, + new + { + Id = new Guid("265e9333-d523-4dfb-8db2-b405a55b2e69"), + AnswerModeId = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), + score = 120 + }, + new + { + Id = new Guid("635c4f51-e2a3-4d7e-8c57-9cae4b2a6bde"), + AnswerModeId = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), + score = 160 + }, + new + { + Id = new Guid("f8ea1914-7ac7-478d-bb8a-3a9763db0394"), + AnswerModeId = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), + score = 150 + }, + new + { + Id = new Guid("64ec5337-197f-4633-b078-6478e6d75c68"), + AnswerModeId = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), + score = 140 + }); + }); + + modelBuilder.Entity("Answer.Model.Article", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArtAvatar") + .HasColumnType("longtext"); + + b.Property("Content") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PulishTime") + .HasColumnType("datetime"); + + b.Property("Title") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Asp.Net_Article", (string)null); + + b.HasData( + new + { + Id = new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), + Content = "我相信它是最美的,就因为相信,所以不想破坏了它在我心里的那份完美,一旦真正去了,总会有遗憾,现实永远没有想象的完美。 她把初恋放下了,却放不下他为她描绘的那片风景。 还是因为太在意啊,没有期盼,何来遗憾? 人生需要遗憾,因为遗憾,所以真实;因为遗憾,所以美丽。 就象张家界之于闺蜜,精灵岛之于友人一家,每个人的遗憾都源于心中所念。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4685), + Title = "心有所系 故有所憾", + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }, + new + { + Id = new Guid("51fe5bf9-3c6f-489d-805e-478aa75a1561"), + Content = "路上只我一个人,背着手踱着。这一片天地好像是我的;我也像超出了平常旳自己,到了另一世界里。我爱热闹,也爱冷静;爱群居,也爱独处。像今晚上,一个人在这苍茫旳月下,什么都可以想,什么都可以不想,便觉是个自由的人。白天里一定要做的事,一定要说的话,现在都可不理。这是独处的妙处,我且受用这无边的荷香月色好了。\r\n\r\n曲曲折折的荷塘上面,弥望旳是田田的叶子。叶子出水很高,像亭亭旳舞女旳裙。层层的叶子中间,零星地点缀着些白花,有袅娜(niǎo,nuó)地开着旳,有羞涩地打着朵儿旳;正如一粒粒的明珠,又如碧天里的星星,又如刚出浴的美人。微风过处,送来缕缕清香,仿佛远处高楼上渺茫的歌声似的。这时候叶子与花也有一丝的颤动,像闪电般,霎时传过荷塘的那边去了。叶子本是肩并肩密密地挨着,这便宛然有了一道凝碧的波痕。叶子底下是脉脉(mò)的流水,遮住了,不能见一些颜色;而叶子却更见风致了。\r\n\r\n月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。虽然是满月,天上却有一层淡淡的云,所以不能朗照;但我以为这恰是到了好处——酣眠固不可少,小睡也别有风味的。月光是隔了树照过来的,高处丛生的灌木,落下参差的斑驳的黑影,峭楞楞如鬼一般;弯弯的杨柳的稀疏的倩影,却又像是画在荷叶上。塘中的月色并不均匀;但光与影有着和谐的旋律,如梵婀(ē)玲(英语violin小提琴的译音)上奏着的名曲。\r\n\r\n荷塘的四面,远远近近,高高低低都是树,而杨柳最多。这些树将一片荷塘重重围住;只在小路一旁,漏着几段空隙,像是特为月光留下的。树色一例是阴阴的,乍看像一团烟雾;但杨柳的丰姿,便在烟雾里也辨得出。树梢上隐隐约约的是一带远山,只有些大意罢了。树缝里也漏着一两点路灯光,没精打采的,是渴睡人的眼。这时候最热闹的,要数树上的蝉声与水里的蛙声;但热闹是它们的,我什么也没有。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4749), + Title = "荷塘月色", + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c") + }, + new + { + Id = new Guid("cf0430f8-b484-4a50-9f1a-07cf88bfbfef"), + Content = "不必说碧绿的菜畦,光滑的石井栏,高大的皂荚树,紫红的桑椹;也不必说鸣蝉在树叶里长吟,肥胖的黄蜂伏在菜花上,轻捷的叫天子(云雀)忽然从草间直窜向云霄里去了。单是周围的短短的泥墙根一带,就有无限趣味。油蛉在这里低唱,蟋蟀们在这里弹琴。翻开断砖来,有时会遇见蜈蚣;还有斑蝥,倘若用手指按住它的脊梁,便会拍的一声,从后窍喷出一阵烟雾。何首乌藤和木莲藤缠络着,木莲有莲房一般的果实,何首乌有拥肿的根。有人说,何首乌根是有象人形的,吃了便可以成仙,我于是常常拔它起来,牵连不断地拔起来,也曾因此弄坏了泥墙,却从来没有见过有一块根象人样。如果不怕刺,还可以摘到覆盆子,象小珊瑚珠攒成的小球,又酸又甜,色味都比桑椹要好得远。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4752), + Title = "从百草园到三味书屋", + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7") + }, + new + { + Id = new Guid("6104654e-72d0-488f-948a-30c382dac0d0"), + Content = "园有静观、动观之分,这一点我们在造园之先,首要考虑。何谓静观,就是园中予游者多驻足的观赏点;动观就是要有较长的游览线。二者说来,小园应以静观为主,动观为辅,庭院专主静观。大园则以动观为主,静观为辅。前者如苏州网师园,后者则苏州拙政园差可似之。人们进入网师园宜坐宜留之建筑多,绕池一周,有槛前细数游鱼,有亭中待月迎风,而轩外花影移墙,峰峦当窗,宛然如画,静中生趣。至于拙政园径缘池转,廊引人随,与“日午画船桥下过,衣香人影太匆匆”的瘦西湖相仿佛,妙在移步换影,这是动观。立意在先,文循意出。动静之分,有关园林性质与园林面积大小。象上海正在建造的盆景园,则宜以静观为主,即为一例。\r\n\r\n中国园林是由建筑、山水、花木等组合而成的一个综合艺术品,富有诗情画意。叠山理水要造成“虽由人作,宛自天开”的境界。山与水的关系究竟如何呢?简言之,模山范水,用局部之景而非缩小(网师园水池仿虎丘白莲池,极妙),处理原则悉符画本。山贵有脉,水贵有源,脉源贯通,全园生动。我曾经用“水随山转,山因水活”与“溪水因山成曲折,山蹊随地作低平”来说明山水之间的关系,也就是从真山真水中所得到的启示。明末清初叠山家张南垣主张用平冈小陂、陵阜陂阪,也就是要使园林山水接近自然。如果我们能初步理解这个道理,就不至于离自然太远,多少能呈现水石交融的美妙境界。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4811), + Title = "说园", + UserId = new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") + }, + new + { + Id = new Guid("7acb0ab1-0de4-42f8-92ae-b3dfdc845154"), + Content = "“雅舍”最宜月夜——地势较高,得月较先。看山头吐月,红盘乍涌,一霎间,清光四射,天空皎洁,四野无声,微闻犬吠,坐客无不悄然!舍前有两株梨树,等到月升中天,清光从树间筛洒而下,地下阴影斑斓,此时尤为幽绝。直到兴阑人散,归房就寝,月光仍然逼进窗来,助我凄凉。细雨蒙蒙之际,“雅舍”亦复有趣。推窗展望,俨然米氏章法,若云若雾,一片弥漫。但若大雨滂沱,我就又惶悚不安了,屋顶浓印到处都有,起初如碗大,俄而扩大如盆,继则滴水乃不绝,终乃屋顶灰泥突然崩裂,如奇葩初绽,砉然一声而泥水下注,此刻满室狼藉,抢救无及。此种经验,已数见不鲜。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4814), + Title = "雅舍", + UserId = new Guid("3a3a0f63-68b4-4adb-a98c-f87c3527df12") + }, + new + { + Id = new Guid("70ba813f-9662-4672-8cd3-dd94f709c222"), + Content = "信步走下山门去,何曾想寻幽访胜?\r\n\r\n转过山坳来,一片青草地,参天的树影无际。树后弯弯的石桥,桥后两个俯蹲在残照里的狮子。回过头来,只一道的断瓦颓垣,剥落的红门,却深深掩闭。原来是故家陵阙!何用来感慨兴亡,且印下一幅图画。\r\n\r\n半山里,凭高下视,千百的燕子,绕着殿儿飞。城垛般的围墙,白石的甬道,黄绿琉璃瓦的门楼,玲珑剔透。楼前是山上的晚霞鲜红,楼后是天边的平原村树,深蓝浓紫。暮霭里,融合在一起。难道是玉宇琼楼?难道是瑶宫贝阙?何用来搜索诗肠,且印下一幅图画。\r\n\r\n低头走着,—首诗的断句,忽然浮上脑海来。“四月江南无矮树,人家都在绿阴中。”何用苦忆是谁的著作,何用苦忆这诗的全文。只此已描画尽了山下的人家!", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4827), + Title = "图画", + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c") + }, + new + { + Id = new Guid("99d01c65-78c4-429d-9658-93872dc45252"), + Content = "康桥的灵性全在一条河上;康河,我敢说是全世界最秀丽的一条水。河的名字是葛兰大(Granta),也有叫康河(Kiver Cam)的,许有上下流的区别,我不甚清楚。河身多的是曲折,上游是有名的拜伦潭——“Byron’s Pool”——当年拜伦常在那里玩的;有一个老村子叫格兰骞斯德,有一个果子园,你可以躺在累累的桃李树荫下吃茶,花果会掉入你的茶杯,小雀子会到你桌上来啄食,那真是别有一番天地。这是上游;下游是从骞斯德顿下去,河面展开,那是春夏间竞舟的场所。上下河分界处有一个坝筑,水流急得很,在星光下听水声,听近村晚钟声,听河畔倦牛刍草声,是我康桥经验中最神秘的一种:大自然的优美、宁静,调谐在这星光与波光的默契中不期然的淹入了你的性灵。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4830), + Title = "我所知道的康桥", + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }, + new + { + Id = new Guid("71a504c9-29f1-499f-b5d8-d78880881351"), + Content = "倘若出城,走三四十里路(我们那里的里程是很短,一里才及英里三分之一),来回总要预备一天。你坐在船上,应该是游山的态度,看看四周物色,随处可见的山,岸旁的乌柏,河边的红寥和白殇,渔舍,各式各样的桥,困倦的时候睡在舱中拿出随笔来看,或者冲一碗清茶喝喝。偏门外的鉴湖一带,贺家池,壶筋左近,我都是喜欢的,或者往娄公埠骑驴去游兰亭(但我劝你还是步行,骑驴或者于你不很相宜),到得暮色苍然的时候进城上都挂着薛荔的东门来,倒是颇有趣味的事。倘若路上不平静,你往杭州去时可于下午开船,黄昏时候的景色正最好看,只可惜这一带地方的名字我都忘记了。夜间睡在舱中,听水声橹声,来往船只的招呼声,以及乡间的犬吠鸡鸣,也都很有意思。雇一只船到乡下去看庙戏,可以了解中国旧戏的真趣味,而且在船上行动自如,要看就看,要睡就睡,要喝酒就喝酒,我觉得也可以算是理想的行乐法。只可惜讲维新以来这些演剧与迎会都已禁止,中产阶级的低能人别在“布业会馆”等处建起“海式”的戏场来,请大家买票看上海的猫儿戏。这些地方你千万不要去。--你到我那故乡,恐怕没有一个人认得,我又因为在教书不能陪你去玩,坐夜船,谈闲天,实在抱歉而且惆怅。川岛君夫妇现在偁山下,本来可以给你绍介,但是你到那里的时候他们恐怕已经离开故乡了。初寒,善自珍重,不尽。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4833), + Title = "乌篷船", + UserId = new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") + }); + }); + + modelBuilder.Entity("Answer.Model.ArticleCategory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArticleId") + .HasColumnType("char(36)"); + + b.Property("CategoryId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ArticleId"); + + b.HasIndex("CategoryId"); + + b.ToTable("Asp.Net_ArticleCategory", (string)null); + }); + + modelBuilder.Entity("Answer.Model.Category", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CategoryName") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("Asp.Net_Category", (string)null); + }); + + modelBuilder.Entity("Answer.Model.Collection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArticleId") + .HasColumnType("char(36)"); + + b.Property("CollectionTime") + .HasColumnType("datetime"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ArticleId"); + + b.HasIndex("UserId"); + + b.ToTable("Asp.Net_Collection", (string)null); + }); + + modelBuilder.Entity("Answer.Model.Comment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArticleId") + .HasColumnType("char(36)"); + + b.Property("CommentContent") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CreateTime") + .HasColumnType("datetime"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ArticleId"); + + b.HasIndex("UserId"); + + b.ToTable("Asp.Net_Comment", (string)null); + + b.HasData( + new + { + Id = new Guid("deae1cb4-8b2e-41e3-b91c-a04b88631f49"), + ArticleId = new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4853), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }, + new + { + Id = new Guid("c093bf88-5036-4fe2-9ef7-e01abc93e634"), + ArticleId = new Guid("51fe5bf9-3c6f-489d-805e-478aa75a1561"), + CommentContent = "甚至还是广西北海的电话,好用心。。", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4867), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c") + }, + new + { + Id = new Guid("376f6fcc-1fb8-4ff3-8230-75b553a6a649"), + ArticleId = new Guid("cf0430f8-b484-4a50-9f1a-07cf88bfbfef"), + CommentContent = "我打,显示“通话中”是不是好多人在打", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4870), + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7") + }, + new + { + Id = new Guid("372b4bbd-10b9-4c4c-a38a-825cf9a7346b"), + ArticleId = new Guid("6104654e-72d0-488f-948a-30c382dac0d0"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4874), + UserId = new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") + }, + new + { + Id = new Guid("97570066-da9a-429f-a990-ae006fb5646f"), + ArticleId = new Guid("7acb0ab1-0de4-42f8-92ae-b3dfdc845154"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4877), + UserId = new Guid("3a3a0f63-68b4-4adb-a98c-f87c3527df12") + }, + new + { + Id = new Guid("5f368222-fdf3-44b1-bd29-35279ad435f9"), + ArticleId = new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4880), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }, + new + { + Id = new Guid("b688f7b8-6fe1-4748-a2fe-3d01b260cb9a"), + ArticleId = new Guid("51fe5bf9-3c6f-489d-805e-478aa75a1561"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4882), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c") + }, + new + { + Id = new Guid("253c1ef3-112c-4a30-b60e-c9a47e631b87"), + ArticleId = new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4883), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }, + new + { + Id = new Guid("d9f315f6-a5d7-4cc4-b3de-f91a6ff023e5"), + ArticleId = new Guid("cf0430f8-b484-4a50-9f1a-07cf88bfbfef"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4885), + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7") + }, + new + { + Id = new Guid("b2977860-d14e-4959-90d3-1783238e4bae"), + ArticleId = new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4888), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }, + new + { + Id = new Guid("fa5eb51b-d10a-4c58-9f1b-0dc67c85a13c"), + ArticleId = new Guid("6104654e-72d0-488f-948a-30c382dac0d0"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4890), + UserId = new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") + }, + new + { + Id = new Guid("f0d77aa0-85e7-4806-b103-bc9cc93199e9"), + ArticleId = new Guid("51fe5bf9-3c6f-489d-805e-478aa75a1561"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4893), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c") + }); + }); + + modelBuilder.Entity("Answer.Model.Count", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArticleId") + .HasColumnType("char(36)"); + + b.Property("CommentNum") + .HasColumnType("int"); + + b.Property("LikeNum") + .HasColumnType("int"); + + b.Property("PageView") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ArticleId") + .IsUnique(); + + b.ToTable("Asp.Net_Count", (string)null); + }); + + modelBuilder.Entity("Answer.Model.Exercises", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Answers") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CategoryId") + .HasColumnType("char(36)"); + + b.Property("ExerciseId") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("OptionA") + .HasColumnType("longtext"); + + b.Property("OptionB") + .HasColumnType("longtext"); + + b.Property("OptionC") + .HasColumnType("longtext"); + + b.Property("OptionD") + .HasColumnType("longtext"); + + b.Property("QuestionContent") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("TypeId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasAlternateKey("ExerciseId"); + + b.HasIndex("CategoryId"); + + b.HasIndex("TypeId"); + + b.ToTable("Asp.Net_Exercises", (string)null); + + b.HasAnnotation("MySql:StoreOptions", "AUTO_INCREMENT=800"); + + b.HasData( + new + { + Id = new Guid("27fb8e31-3a78-430b-adaa-564f5f71ea08"), + Answers = "硬件系统和软件系统", + CategoryId = new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), + ExerciseId = 0, + OptionA = "运算器、控制器、存储器、输入设备和输出设备", + OptionB = "主机和外部设备", + OptionC = "硬件系统和软件系统", + OptionD = "主机箱、显示器、键盘、鼠标、打印机", + QuestionContent = "完整的计算机系统由()组成。", + TypeId = new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") + }, + new + { + Id = new Guid("2a0aa6f9-fc4f-4649-bf3e-58c4dbd5e277"), + Answers = "硬件系统和软件系统", + CategoryId = new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), + ExerciseId = 0, + OptionA = "运算器、控制器、存储器、输入设备和输出设备", + OptionB = "主机和外部设备", + OptionC = "硬件系统和软件系统", + OptionD = "主机箱、显示器、键盘、鼠标、打印机", + QuestionContent = "完整的计算机系统由()组成。", + TypeId = new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") + }, + new + { + Id = new Guid("0e8a6fc7-8d08-471a-b868-afe2455c1bb0"), + Answers = "硬件系统和软件系统", + CategoryId = new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), + ExerciseId = 0, + OptionA = "运算器、控制器、存储器、输入设备和输出设备", + OptionB = "主机和外部设备", + OptionC = "硬件系统和软件系统", + OptionD = "主机箱、显示器、键盘、鼠标、打印机", + QuestionContent = "完整的计算机系统由()组成。", + TypeId = new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") + }, + new + { + Id = new Guid("3f3238a1-9dd1-4373-adae-3f3f12e7344c"), + Answers = "硬件系统和软件系统", + CategoryId = new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), + ExerciseId = 0, + OptionA = "运算器、控制器、存储器、输入设备和输出设备", + OptionB = "主机和外部设备", + OptionC = "硬件系统和软件系统", + OptionD = "主机箱、显示器、键盘、鼠标、打印机", + QuestionContent = "完整的计算机系统由()组成。", + TypeId = new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") + }, + new + { + Id = new Guid("69ad893f-51c9-4539-a65e-6f18356d1037"), + Answers = "硬件系统和软件系统", + CategoryId = new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), + ExerciseId = 0, + OptionA = "运算器、控制器、存储器、输入设备和输出设备", + OptionB = "主机和外部设备", + OptionC = "硬件系统和软件系统", + OptionD = "主机箱、显示器、键盘、鼠标、打印机", + QuestionContent = "完整的计算机系统由()组成。", + TypeId = new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") + }); + }); + + modelBuilder.Entity("Answer.Model.Like", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArticleId") + .HasColumnType("char(36)"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ArticleId"); + + b.HasIndex("UserId"); + + b.ToTable("Asp.Net_Like", (string)null); + }); + + modelBuilder.Entity("Answer.Model.QuestionCategory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CategoryName") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("Asp.Net_QuestionCategory", (string)null); + + b.HasData( + new + { + Id = new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), + CategoryName = "单选题" + }, + new + { + Id = new Guid("7ddbabfd-f716-494a-b372-4af4ddedef9b"), + CategoryName = "填空题" + }, + new + { + Id = new Guid("d168b7ac-23e8-41f8-b7ea-c5a375b5d363"), + CategoryName = "多选题" + }, + new + { + Id = new Guid("d3e8e36d-ae07-484e-9062-e4e566e59804"), + CategoryName = "简答题" + }); + }); + + modelBuilder.Entity("Answer.Model.QuestionType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("TypeName") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("Asp.Net_QuestionType", (string)null); + + b.HasData( + new + { + Id = new Guid("d5e44a40-25e0-4504-ab24-84990b533d12"), + TypeName = "综合题" + }, + new + { + Id = new Guid("30f18ff7-52ab-4240-b7a2-7f1b2f612259"), + TypeName = "前端题" + }, + new + { + Id = new Guid("03468e13-38dc-464e-949a-0efa40c104a1"), + TypeName = "后端题" + }, + new + { + Id = new Guid("50c7ed97-4e30-42a7-8893-397fa63d7144"), + TypeName = "算法题" + }); + }); + + modelBuilder.Entity("Answer.Model.Role", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("longtext"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex"); + + b.ToTable("AspNetRoles", (string)null); + + b.HasData( + new + { + Id = new Guid("4014b565-3342-40ef-bb0f-e56681fe6601"), + Name = "admin", + NormalizedName = "admin" + }, + new + { + Id = new Guid("aefc0e2d-2b9e-4d47-936d-a4d4b875eb37"), + Name = "user", + NormalizedName = "user" + }); + }); + + modelBuilder.Entity("Answer.Model.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("AccessFailedCount") + .HasColumnType("int"); + + b.Property("Avatar") + .HasColumnType("longtext"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("longtext"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("tinyint(1)"); + + b.Property("Gender") + .HasColumnType("int"); + + b.Property("JwtVersion") + .HasColumnType("bigint"); + + b.Property("LockoutEnabled") + .HasColumnType("tinyint(1)"); + + b.Property("LockoutEnd") + .HasColumnType("datetime"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("PasswordHash") + .HasColumnType("longtext"); + + b.Property("PhoneNumber") + .HasColumnType("longtext"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("tinyint(1)"); + + b.Property("SecurityStamp") + .HasColumnType("longtext"); + + b.Property("Signature") + .HasColumnType("longtext"); + + b.Property("TwoFactorEnabled") + .HasColumnType("tinyint(1)"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.ToTable("AspNetUsers", (string)null); + + b.HasData( + new + { + Id = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), + AccessFailedCount = 0, + ConcurrencyStamp = "db6fdf80-767b-4968-92c9-8ef820d2bfe5", + EmailConfirmed = false, + Gender = 1, + JwtVersion = 0L, + LockoutEnabled = false, + NormalizedUserName = "陈佳伦", + PasswordHash = "AQAAAAIAAYagAAAAEFlD7CIY+kOiRKH/TIrYa+Vg8PPbeYLX21/kcF9wDHVwd1gb0nVdMuCkqObn8OyK2w==", + PhoneNumber = "15880822146", + PhoneNumberConfirmed = false, + SecurityStamp = "false", + TwoFactorEnabled = false, + UserName = "陈佳伦" + }, + new + { + Id = new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), + AccessFailedCount = 0, + ConcurrencyStamp = "380a6674-1670-4839-96d5-a74a51cda2a6", + EmailConfirmed = false, + Gender = 1, + JwtVersion = 0L, + LockoutEnabled = false, + NormalizedUserName = "潘辉达", + PasswordHash = "AQAAAAIAAYagAAAAEG0BZvcgubD/uw12o3bqlcKs8TsYAX/RBqIJ/C4dWo2c4pYNvxsX+b9uBCvK9ihujA==", + PhoneNumber = "15759761073", + PhoneNumberConfirmed = false, + SecurityStamp = "false", + TwoFactorEnabled = false, + UserName = "潘辉达" + }, + new + { + Id = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), + AccessFailedCount = 0, + ConcurrencyStamp = "2ade96f6-9cf5-433e-8f10-64b7dca3131f", + EmailConfirmed = false, + Gender = 1, + JwtVersion = 0L, + LockoutEnabled = false, + NormalizedUserName = "陈俞伽", + PasswordHash = "AQAAAAIAAYagAAAAEBuQXAIkGDIF63pVQwUCsSrlu9tTK9SzjIoRnd0j7ygBJQpGTuU5ZkoJ5WjyNA8hlw==", + PhoneNumber = "19835623578", + PhoneNumberConfirmed = false, + SecurityStamp = "false", + TwoFactorEnabled = false, + UserName = "陈俞伽" + }, + new + { + Id = new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75"), + AccessFailedCount = 0, + ConcurrencyStamp = "0eb487cb-9305-49f9-bcf7-0d95b8e1d0fb", + EmailConfirmed = false, + Gender = 1, + JwtVersion = 0L, + LockoutEnabled = false, + NormalizedUserName = "陈俊兴", + PasswordHash = "AQAAAAIAAYagAAAAEJK90n4xhp4gFfImwyUnz+2yX55uKm+ElRdfWEDMpizyzb0IarFp9k/hs+JnK3UGBw==", + PhoneNumber = "18965555479", + PhoneNumberConfirmed = false, + SecurityStamp = "false", + TwoFactorEnabled = false, + UserName = "陈俊兴" + }, + new + { + Id = new Guid("3a3a0f63-68b4-4adb-a98c-f87c3527df12"), + AccessFailedCount = 0, + ConcurrencyStamp = "30313146-0cf0-41dc-a1d8-a478d017b2fe", + EmailConfirmed = false, + Gender = 1, + JwtVersion = 0L, + LockoutEnabled = false, + NormalizedUserName = "王郁齐", + PasswordHash = "AQAAAAIAAYagAAAAEOwJu3xf5iO54LNyPmILbMhqAL9SULt+0qJpuO5Ts+mpHuDL39zN/Okr9EYK1RGctQ==", + PhoneNumber = "18939351486", + PhoneNumberConfirmed = false, + SecurityStamp = "false", + TwoFactorEnabled = false, + UserName = "王郁齐" + }); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("ClaimType") + .HasColumnType("longtext"); + + b.Property("ClaimValue") + .HasColumnType("longtext"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("ClaimType") + .HasColumnType("longtext"); + + b.Property("ClaimValue") + .HasColumnType("longtext"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("varchar(95)"); + + b.Property("ProviderKey") + .HasColumnType("varchar(95)"); + + b.Property("ProviderDisplayName") + .HasColumnType("longtext"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("char(36)"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + + b.HasData( + new + { + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), + RoleId = new Guid("4014b565-3342-40ef-bb0f-e56681fe6601") + }, + new + { + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), + RoleId = new Guid("aefc0e2d-2b9e-4d47-936d-a4d4b875eb37") + }, + new + { + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), + RoleId = new Guid("4014b565-3342-40ef-bb0f-e56681fe6601") + }, + new + { + UserId = new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75"), + RoleId = new Guid("4014b565-3342-40ef-bb0f-e56681fe6601") + }, + new + { + UserId = new Guid("3a3a0f63-68b4-4adb-a98c-f87c3527df12"), + RoleId = new Guid("aefc0e2d-2b9e-4d47-936d-a4d4b875eb37") + }); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("char(36)"); + + b.Property("LoginProvider") + .HasColumnType("varchar(95)"); + + b.Property("Name") + .HasColumnType("varchar(95)"); + + b.Property("Value") + .HasColumnType("longtext"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("Answer.Model.AnswerRecord", b => + { + b.HasOne("Answer.Model.Exercises", "ExercisesTabel") + .WithMany("Record") + .HasForeignKey("AnswerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.AnswerModel", "AnswerModel") + .WithMany("AnswerRecords") + .HasForeignKey("AnswerModeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.User", "Users") + .WithMany("answerRecords") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("AnswerModel"); + + b.Navigation("ExercisesTabel"); + + b.Navigation("Users"); + }); + + modelBuilder.Entity("Answer.Model.AnswerScore", b => + { + b.HasOne("Answer.Model.AnswerModel", "AnswerModel") + .WithMany("answerScores") + .HasForeignKey("AnswerModeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.User", "Users") + .WithMany("answerScores") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("AnswerModel"); + + b.Navigation("Users"); + }); + + modelBuilder.Entity("Answer.Model.Article", b => + { + b.HasOne("Answer.Model.User", "User") + .WithMany("Articles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Answer.Model.ArticleCategory", b => + { + b.HasOne("Answer.Model.Article", "Article") + .WithMany("ArticleCategorys") + .HasForeignKey("ArticleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.Category", "Category") + .WithMany("ArticleCategorys") + .HasForeignKey("CategoryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Article"); + + b.Navigation("Category"); + }); + + modelBuilder.Entity("Answer.Model.Collection", b => + { + b.HasOne("Answer.Model.Article", "Article") + .WithMany("Collections") + .HasForeignKey("ArticleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.User", "User") + .WithMany("Collections") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Article"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Answer.Model.Comment", b => + { + b.HasOne("Answer.Model.Article", "Article") + .WithMany("Comments") + .HasForeignKey("ArticleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.User", "User") + .WithMany("Comments") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Article"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Answer.Model.Count", b => + { + b.HasOne("Answer.Model.Article", "Articles") + .WithOne("Count") + .HasForeignKey("Answer.Model.Count", "ArticleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Articles"); + }); + + modelBuilder.Entity("Answer.Model.Exercises", b => + { + b.HasOne("Answer.Model.QuestionCategory", "QuestionCategory") + .WithMany("Exercises") + .HasForeignKey("CategoryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.QuestionType", "QuestionType") + .WithMany("Exercises") + .HasForeignKey("TypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("QuestionCategory"); + + b.Navigation("QuestionType"); + }); + + modelBuilder.Entity("Answer.Model.Like", b => + { + b.HasOne("Answer.Model.Article", "Article") + .WithMany("Likes") + .HasForeignKey("ArticleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.User", "User") + .WithMany("Likes") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Article"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Answer.Model.Role", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("Answer.Model.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("Answer.Model.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("Answer.Model.Role", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("Answer.Model.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Answer.Model.AnswerModel", b => + { + b.Navigation("AnswerRecords"); + + b.Navigation("answerScores"); + }); + + modelBuilder.Entity("Answer.Model.Article", b => + { + b.Navigation("ArticleCategorys"); + + b.Navigation("Collections"); + + b.Navigation("Comments"); + + b.Navigation("Count"); + + b.Navigation("Likes"); + }); + + modelBuilder.Entity("Answer.Model.Category", b => + { + b.Navigation("ArticleCategorys"); + }); + + modelBuilder.Entity("Answer.Model.Exercises", b => + { + b.Navigation("Record"); + }); + + modelBuilder.Entity("Answer.Model.QuestionCategory", b => + { + b.Navigation("Exercises"); + }); + + modelBuilder.Entity("Answer.Model.QuestionType", b => + { + b.Navigation("Exercises"); + }); + + modelBuilder.Entity("Answer.Model.User", b => + { + b.Navigation("Articles"); + + b.Navigation("Collections"); + + b.Navigation("Comments"); + + b.Navigation("Likes"); + + b.Navigation("answerRecords"); + + b.Navigation("answerScores"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/20230801Server_Side_tentative/Answer.EntityFrameworkCore/Migrations/20230811010759_init.cs b/20230801Server_Side_tentative/Answer.EntityFrameworkCore/Migrations/20230811010759_init.cs new file mode 100644 index 0000000..f746b40 --- /dev/null +++ b/20230801Server_Side_tentative/Answer.EntityFrameworkCore/Migrations/20230811010759_init.cs @@ -0,0 +1,837 @@ +using System; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional + +namespace Answer.EntityFrameworkCore.Migrations +{ + /// + public partial class init : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterDatabase() + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Ner_AnswerModel", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + ModelName = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Ner_AnswerModel", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Net_Category", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + CategoryName = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Net_Category", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Net_QuestionCategory", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + CategoryName = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Net_QuestionCategory", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Net_QuestionType", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + TypeName = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Net_QuestionType", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "AspNetRoles", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "varchar(256)", maxLength: 256, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + NormalizedName = table.Column(type: "varchar(256)", maxLength: 256, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetRoles", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "AspNetUsers", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Signature = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Avatar = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Gender = table.Column(type: "int", nullable: false), + JwtVersion = table.Column(type: "bigint", nullable: false), + UserName = table.Column(type: "varchar(256)", maxLength: 256, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + NormalizedUserName = table.Column(type: "varchar(256)", maxLength: 256, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Email = table.Column(type: "varchar(256)", maxLength: 256, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + NormalizedEmail = table.Column(type: "varchar(256)", maxLength: 256, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + EmailConfirmed = table.Column(type: "tinyint(1)", nullable: false), + PasswordHash = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + SecurityStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + PhoneNumber = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + PhoneNumberConfirmed = table.Column(type: "tinyint(1)", nullable: false), + TwoFactorEnabled = table.Column(type: "tinyint(1)", nullable: false), + LockoutEnd = table.Column(type: "datetime", nullable: true), + LockoutEnabled = table.Column(type: "tinyint(1)", nullable: false), + AccessFailedCount = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUsers", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Net_Exercises", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + ExerciseId = table.Column(type: "int", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), + QuestionContent = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + Answers = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + OptionA = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + OptionB = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + OptionC = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + OptionD = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + TypeId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + CategoryId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Net_Exercises", x => x.Id); + table.UniqueConstraint("AK_Asp.Net_Exercises_ExerciseId", x => x.ExerciseId); + table.ForeignKey( + name: "FK_Asp.Net_Exercises_Asp.Net_QuestionCategory_CategoryId", + column: x => x.CategoryId, + principalTable: "Asp.Net_QuestionCategory", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Asp.Net_Exercises_Asp.Net_QuestionType_TypeId", + column: x => x.TypeId, + principalTable: "Asp.Net_QuestionType", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4") + .Annotation("MySql:StoreOptions", "AUTO_INCREMENT=800"); + + migrationBuilder.CreateTable( + name: "AspNetRoleClaims", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), + RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + ClaimType = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ClaimValue = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id); + table.ForeignKey( + name: "FK_AspNetRoleClaims_AspNetRoles_RoleId", + column: x => x.RoleId, + principalTable: "AspNetRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Ner_AnswerScore", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + score = table.Column(type: "int", nullable: false), + UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + AnswerModeId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Ner_AnswerScore", x => x.Id); + table.ForeignKey( + name: "FK_Asp.Ner_AnswerScore_Asp.Ner_AnswerModel_AnswerModeId", + column: x => x.AnswerModeId, + principalTable: "Asp.Ner_AnswerModel", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Asp.Ner_AnswerScore_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Net_Article", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Title = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + ArtAvatar = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Content = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + PulishTime = table.Column(type: "datetime", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Net_Article", x => x.Id); + table.ForeignKey( + name: "FK_Asp.Net_Article_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "AspNetUserClaims", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), + UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + ClaimType = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ClaimValue = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUserClaims", x => x.Id); + table.ForeignKey( + name: "FK_AspNetUserClaims_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "AspNetUserLogins", + columns: table => new + { + LoginProvider = table.Column(type: "varchar(95)", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + ProviderKey = table.Column(type: "varchar(95)", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + ProviderDisplayName = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey }); + table.ForeignKey( + name: "FK_AspNetUserLogins_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "AspNetUserRoles", + columns: table => new + { + UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId }); + table.ForeignKey( + name: "FK_AspNetUserRoles_AspNetRoles_RoleId", + column: x => x.RoleId, + principalTable: "AspNetRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_AspNetUserRoles_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "AspNetUserTokens", + columns: table => new + { + UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + LoginProvider = table.Column(type: "varchar(95)", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + Name = table.Column(type: "varchar(95)", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + Value = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); + table.ForeignKey( + name: "FK_AspNetUserTokens_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Ner_AnswerRecord", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + AnswerId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + IsOrNo = table.Column(type: "tinyint(1)", nullable: false), + AnswerTime = table.Column(type: "datetime", nullable: false), + AnswerModeId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Ner_AnswerRecord", x => x.Id); + table.ForeignKey( + name: "FK_Asp.Ner_AnswerRecord_Asp.Ner_AnswerModel_AnswerModeId", + column: x => x.AnswerModeId, + principalTable: "Asp.Ner_AnswerModel", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Asp.Ner_AnswerRecord_Asp.Net_Exercises_AnswerId", + column: x => x.AnswerId, + principalTable: "Asp.Net_Exercises", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Asp.Ner_AnswerRecord_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Net_ArticleCategory", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + ArticleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + CategoryId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Net_ArticleCategory", x => x.Id); + table.ForeignKey( + name: "FK_Asp.Net_ArticleCategory_Asp.Net_Article_ArticleId", + column: x => x.ArticleId, + principalTable: "Asp.Net_Article", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Asp.Net_ArticleCategory_Asp.Net_Category_CategoryId", + column: x => x.CategoryId, + principalTable: "Asp.Net_Category", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Net_Collection", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + ArticleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + CollectionTime = table.Column(type: "datetime", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Net_Collection", x => x.Id); + table.ForeignKey( + name: "FK_Asp.Net_Collection_Asp.Net_Article_ArticleId", + column: x => x.ArticleId, + principalTable: "Asp.Net_Article", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Asp.Net_Collection_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Net_Comment", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + ArticleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + CommentContent = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + CreateTime = table.Column(type: "datetime", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Net_Comment", x => x.Id); + table.ForeignKey( + name: "FK_Asp.Net_Comment_Asp.Net_Article_ArticleId", + column: x => x.ArticleId, + principalTable: "Asp.Net_Article", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Asp.Net_Comment_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Net_Count", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + LikeNum = table.Column(type: "int", nullable: false), + PageView = table.Column(type: "int", nullable: false), + CommentNum = table.Column(type: "int", nullable: false), + ArticleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Net_Count", x => x.Id); + table.ForeignKey( + name: "FK_Asp.Net_Count_Asp.Net_Article_ArticleId", + column: x => x.ArticleId, + principalTable: "Asp.Net_Article", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Asp.Net_Like", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + ArticleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") + }, + constraints: table => + { + table.PrimaryKey("PK_Asp.Net_Like", x => x.Id); + table.ForeignKey( + name: "FK_Asp.Net_Like_Asp.Net_Article_ArticleId", + column: x => x.ArticleId, + principalTable: "Asp.Net_Article", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Asp.Net_Like_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.InsertData( + table: "Asp.Ner_AnswerModel", + columns: new[] { "Id", "ModelName" }, + values: new object[,] + { + { new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), "" }, + { new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), "" } + }); + + migrationBuilder.InsertData( + table: "Asp.Net_QuestionCategory", + columns: new[] { "Id", "CategoryName" }, + values: new object[,] + { + { new Guid("7ddbabfd-f716-494a-b372-4af4ddedef9b"), "填空题" }, + { new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), "单选题" }, + { new Guid("d168b7ac-23e8-41f8-b7ea-c5a375b5d363"), "多选题" }, + { new Guid("d3e8e36d-ae07-484e-9062-e4e566e59804"), "简答题" } + }); + + migrationBuilder.InsertData( + table: "Asp.Net_QuestionType", + columns: new[] { "Id", "TypeName" }, + values: new object[,] + { + { new Guid("03468e13-38dc-464e-949a-0efa40c104a1"), "后端题" }, + { new Guid("30f18ff7-52ab-4240-b7a2-7f1b2f612259"), "前端题" }, + { new Guid("50c7ed97-4e30-42a7-8893-397fa63d7144"), "算法题" }, + { new Guid("d5e44a40-25e0-4504-ab24-84990b533d12"), "综合题" } + }); + + migrationBuilder.InsertData( + table: "AspNetRoles", + columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, + values: new object[,] + { + { new Guid("4014b565-3342-40ef-bb0f-e56681fe6601"), null, "admin", "admin" }, + { new Guid("aefc0e2d-2b9e-4d47-936d-a4d4b875eb37"), null, "user", "user" } + }); + + migrationBuilder.InsertData( + table: "AspNetUsers", + columns: new[] { "Id", "AccessFailedCount", "Avatar", "ConcurrencyStamp", "Email", "EmailConfirmed", "Gender", "JwtVersion", "LockoutEnabled", "LockoutEnd", "NormalizedEmail", "NormalizedUserName", "PasswordHash", "PhoneNumber", "PhoneNumberConfirmed", "SecurityStamp", "Signature", "TwoFactorEnabled", "UserName" }, + values: new object[,] + { + { new Guid("3a3a0f63-68b4-4adb-a98c-f87c3527df12"), 0, null, "30313146-0cf0-41dc-a1d8-a478d017b2fe", null, false, 1, 0L, false, null, null, "王郁齐", "AQAAAAIAAYagAAAAEOwJu3xf5iO54LNyPmILbMhqAL9SULt+0qJpuO5Ts+mpHuDL39zN/Okr9EYK1RGctQ==", "18939351486", false, "false", null, false, "王郁齐" }, + { new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), 0, null, "2ade96f6-9cf5-433e-8f10-64b7dca3131f", null, false, 1, 0L, false, null, null, "陈俞伽", "AQAAAAIAAYagAAAAEBuQXAIkGDIF63pVQwUCsSrlu9tTK9SzjIoRnd0j7ygBJQpGTuU5ZkoJ5WjyNA8hlw==", "19835623578", false, "false", null, false, "陈俞伽" }, + { new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), 0, null, "db6fdf80-767b-4968-92c9-8ef820d2bfe5", null, false, 1, 0L, false, null, null, "陈佳伦", "AQAAAAIAAYagAAAAEFlD7CIY+kOiRKH/TIrYa+Vg8PPbeYLX21/kcF9wDHVwd1gb0nVdMuCkqObn8OyK2w==", "15880822146", false, "false", null, false, "陈佳伦" }, + { new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), 0, null, "380a6674-1670-4839-96d5-a74a51cda2a6", null, false, 1, 0L, false, null, null, "潘辉达", "AQAAAAIAAYagAAAAEG0BZvcgubD/uw12o3bqlcKs8TsYAX/RBqIJ/C4dWo2c4pYNvxsX+b9uBCvK9ihujA==", "15759761073", false, "false", null, false, "潘辉达" }, + { new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75"), 0, null, "0eb487cb-9305-49f9-bcf7-0d95b8e1d0fb", null, false, 1, 0L, false, null, null, "陈俊兴", "AQAAAAIAAYagAAAAEJK90n4xhp4gFfImwyUnz+2yX55uKm+ElRdfWEDMpizyzb0IarFp9k/hs+JnK3UGBw==", "18965555479", false, "false", null, false, "陈俊兴" } + }); + + migrationBuilder.InsertData( + table: "Asp.Ner_AnswerScore", + columns: new[] { "Id", "AnswerModeId", "UserId", "score" }, + values: new object[,] + { + { new Guid("0b5b242f-56a9-4b93-86e9-95090b3cc07f"), new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), 100 }, + { new Guid("265e9333-d523-4dfb-8db2-b405a55b2e69"), new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), 120 }, + { new Guid("2cbe102f-a40e-478c-9aea-b9839bbd686b"), new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), 113 }, + { new Guid("2cc1f53b-f5b4-48d0-9f8e-80da488a9c4d"), new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), 100 }, + { new Guid("635c4f51-e2a3-4d7e-8c57-9cae4b2a6bde"), new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), 160 }, + { new Guid("64ec5337-197f-4633-b078-6478e6d75c68"), new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), 140 }, + { new Guid("80dcbc8e-9b66-4668-9e27-5cf5d40a5d38"), new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), 114 }, + { new Guid("8f320eaf-1c39-4d9c-a937-2c0f7c478258"), new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), 110 }, + { new Guid("b5b4ee6e-80e0-422b-9859-5c1cb7e45b84"), new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), 110 }, + { new Guid("bf4bad40-9d0c-4571-8518-51c845f9d127"), new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), 150 }, + { new Guid("d79b16a1-423f-4e94-8852-1d7f47ce8e74"), new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), 120 }, + { new Guid("f8ea1914-7ac7-478d-bb8a-3a9763db0394"), new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), 150 } + }); + + migrationBuilder.InsertData( + table: "Asp.Net_Article", + columns: new[] { "Id", "ArtAvatar", "Content", "PulishTime", "Title", "UserId" }, + values: new object[,] + { + { new Guid("51fe5bf9-3c6f-489d-805e-478aa75a1561"), null, "路上只我一个人,背着手踱着。这一片天地好像是我的;我也像超出了平常旳自己,到了另一世界里。我爱热闹,也爱冷静;爱群居,也爱独处。像今晚上,一个人在这苍茫旳月下,什么都可以想,什么都可以不想,便觉是个自由的人。白天里一定要做的事,一定要说的话,现在都可不理。这是独处的妙处,我且受用这无边的荷香月色好了。\r\n\r\n曲曲折折的荷塘上面,弥望旳是田田的叶子。叶子出水很高,像亭亭旳舞女旳裙。层层的叶子中间,零星地点缀着些白花,有袅娜(niǎo,nuó)地开着旳,有羞涩地打着朵儿旳;正如一粒粒的明珠,又如碧天里的星星,又如刚出浴的美人。微风过处,送来缕缕清香,仿佛远处高楼上渺茫的歌声似的。这时候叶子与花也有一丝的颤动,像闪电般,霎时传过荷塘的那边去了。叶子本是肩并肩密密地挨着,这便宛然有了一道凝碧的波痕。叶子底下是脉脉(mò)的流水,遮住了,不能见一些颜色;而叶子却更见风致了。\r\n\r\n月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。虽然是满月,天上却有一层淡淡的云,所以不能朗照;但我以为这恰是到了好处——酣眠固不可少,小睡也别有风味的。月光是隔了树照过来的,高处丛生的灌木,落下参差的斑驳的黑影,峭楞楞如鬼一般;弯弯的杨柳的稀疏的倩影,却又像是画在荷叶上。塘中的月色并不均匀;但光与影有着和谐的旋律,如梵婀(ē)玲(英语violin小提琴的译音)上奏着的名曲。\r\n\r\n荷塘的四面,远远近近,高高低低都是树,而杨柳最多。这些树将一片荷塘重重围住;只在小路一旁,漏着几段空隙,像是特为月光留下的。树色一例是阴阴的,乍看像一团烟雾;但杨柳的丰姿,便在烟雾里也辨得出。树梢上隐隐约约的是一带远山,只有些大意罢了。树缝里也漏着一两点路灯光,没精打采的,是渴睡人的眼。这时候最热闹的,要数树上的蝉声与水里的蛙声;但热闹是它们的,我什么也没有。", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4749), "荷塘月色", new Guid("a9c75814-64dd-4596-835d-c809f77a352c") }, + { new Guid("6104654e-72d0-488f-948a-30c382dac0d0"), null, "园有静观、动观之分,这一点我们在造园之先,首要考虑。何谓静观,就是园中予游者多驻足的观赏点;动观就是要有较长的游览线。二者说来,小园应以静观为主,动观为辅,庭院专主静观。大园则以动观为主,静观为辅。前者如苏州网师园,后者则苏州拙政园差可似之。人们进入网师园宜坐宜留之建筑多,绕池一周,有槛前细数游鱼,有亭中待月迎风,而轩外花影移墙,峰峦当窗,宛然如画,静中生趣。至于拙政园径缘池转,廊引人随,与“日午画船桥下过,衣香人影太匆匆”的瘦西湖相仿佛,妙在移步换影,这是动观。立意在先,文循意出。动静之分,有关园林性质与园林面积大小。象上海正在建造的盆景园,则宜以静观为主,即为一例。\r\n\r\n中国园林是由建筑、山水、花木等组合而成的一个综合艺术品,富有诗情画意。叠山理水要造成“虽由人作,宛自天开”的境界。山与水的关系究竟如何呢?简言之,模山范水,用局部之景而非缩小(网师园水池仿虎丘白莲池,极妙),处理原则悉符画本。山贵有脉,水贵有源,脉源贯通,全园生动。我曾经用“水随山转,山因水活”与“溪水因山成曲折,山蹊随地作低平”来说明山水之间的关系,也就是从真山真水中所得到的启示。明末清初叠山家张南垣主张用平冈小陂、陵阜陂阪,也就是要使园林山水接近自然。如果我们能初步理解这个道理,就不至于离自然太远,多少能呈现水石交融的美妙境界。", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4811), "说园", new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") }, + { new Guid("70ba813f-9662-4672-8cd3-dd94f709c222"), null, "信步走下山门去,何曾想寻幽访胜?\r\n\r\n转过山坳来,一片青草地,参天的树影无际。树后弯弯的石桥,桥后两个俯蹲在残照里的狮子。回过头来,只一道的断瓦颓垣,剥落的红门,却深深掩闭。原来是故家陵阙!何用来感慨兴亡,且印下一幅图画。\r\n\r\n半山里,凭高下视,千百的燕子,绕着殿儿飞。城垛般的围墙,白石的甬道,黄绿琉璃瓦的门楼,玲珑剔透。楼前是山上的晚霞鲜红,楼后是天边的平原村树,深蓝浓紫。暮霭里,融合在一起。难道是玉宇琼楼?难道是瑶宫贝阙?何用来搜索诗肠,且印下一幅图画。\r\n\r\n低头走着,—首诗的断句,忽然浮上脑海来。“四月江南无矮树,人家都在绿阴中。”何用苦忆是谁的著作,何用苦忆这诗的全文。只此已描画尽了山下的人家!", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4827), "图画", new Guid("a9c75814-64dd-4596-835d-c809f77a352c") }, + { new Guid("71a504c9-29f1-499f-b5d8-d78880881351"), null, "倘若出城,走三四十里路(我们那里的里程是很短,一里才及英里三分之一),来回总要预备一天。你坐在船上,应该是游山的态度,看看四周物色,随处可见的山,岸旁的乌柏,河边的红寥和白殇,渔舍,各式各样的桥,困倦的时候睡在舱中拿出随笔来看,或者冲一碗清茶喝喝。偏门外的鉴湖一带,贺家池,壶筋左近,我都是喜欢的,或者往娄公埠骑驴去游兰亭(但我劝你还是步行,骑驴或者于你不很相宜),到得暮色苍然的时候进城上都挂着薛荔的东门来,倒是颇有趣味的事。倘若路上不平静,你往杭州去时可于下午开船,黄昏时候的景色正最好看,只可惜这一带地方的名字我都忘记了。夜间睡在舱中,听水声橹声,来往船只的招呼声,以及乡间的犬吠鸡鸣,也都很有意思。雇一只船到乡下去看庙戏,可以了解中国旧戏的真趣味,而且在船上行动自如,要看就看,要睡就睡,要喝酒就喝酒,我觉得也可以算是理想的行乐法。只可惜讲维新以来这些演剧与迎会都已禁止,中产阶级的低能人别在“布业会馆”等处建起“海式”的戏场来,请大家买票看上海的猫儿戏。这些地方你千万不要去。--你到我那故乡,恐怕没有一个人认得,我又因为在教书不能陪你去玩,坐夜船,谈闲天,实在抱歉而且惆怅。川岛君夫妇现在偁山下,本来可以给你绍介,但是你到那里的时候他们恐怕已经离开故乡了。初寒,善自珍重,不尽。", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4833), "乌篷船", new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") }, + { new Guid("7acb0ab1-0de4-42f8-92ae-b3dfdc845154"), null, "“雅舍”最宜月夜——地势较高,得月较先。看山头吐月,红盘乍涌,一霎间,清光四射,天空皎洁,四野无声,微闻犬吠,坐客无不悄然!舍前有两株梨树,等到月升中天,清光从树间筛洒而下,地下阴影斑斓,此时尤为幽绝。直到兴阑人散,归房就寝,月光仍然逼进窗来,助我凄凉。细雨蒙蒙之际,“雅舍”亦复有趣。推窗展望,俨然米氏章法,若云若雾,一片弥漫。但若大雨滂沱,我就又惶悚不安了,屋顶浓印到处都有,起初如碗大,俄而扩大如盆,继则滴水乃不绝,终乃屋顶灰泥突然崩裂,如奇葩初绽,砉然一声而泥水下注,此刻满室狼藉,抢救无及。此种经验,已数见不鲜。", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4814), "雅舍", new Guid("3a3a0f63-68b4-4adb-a98c-f87c3527df12") }, + { new Guid("99d01c65-78c4-429d-9658-93872dc45252"), null, "康桥的灵性全在一条河上;康河,我敢说是全世界最秀丽的一条水。河的名字是葛兰大(Granta),也有叫康河(Kiver Cam)的,许有上下流的区别,我不甚清楚。河身多的是曲折,上游是有名的拜伦潭——“Byron’s Pool”——当年拜伦常在那里玩的;有一个老村子叫格兰骞斯德,有一个果子园,你可以躺在累累的桃李树荫下吃茶,花果会掉入你的茶杯,小雀子会到你桌上来啄食,那真是别有一番天地。这是上游;下游是从骞斯德顿下去,河面展开,那是春夏间竞舟的场所。上下河分界处有一个坝筑,水流急得很,在星光下听水声,听近村晚钟声,听河畔倦牛刍草声,是我康桥经验中最神秘的一种:大自然的优美、宁静,调谐在这星光与波光的默契中不期然的淹入了你的性灵。", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4830), "我所知道的康桥", new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") }, + { new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), null, "我相信它是最美的,就因为相信,所以不想破坏了它在我心里的那份完美,一旦真正去了,总会有遗憾,现实永远没有想象的完美。 她把初恋放下了,却放不下他为她描绘的那片风景。 还是因为太在意啊,没有期盼,何来遗憾? 人生需要遗憾,因为遗憾,所以真实;因为遗憾,所以美丽。 就象张家界之于闺蜜,精灵岛之于友人一家,每个人的遗憾都源于心中所念。", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4685), "心有所系 故有所憾", new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") }, + { new Guid("cf0430f8-b484-4a50-9f1a-07cf88bfbfef"), null, "不必说碧绿的菜畦,光滑的石井栏,高大的皂荚树,紫红的桑椹;也不必说鸣蝉在树叶里长吟,肥胖的黄蜂伏在菜花上,轻捷的叫天子(云雀)忽然从草间直窜向云霄里去了。单是周围的短短的泥墙根一带,就有无限趣味。油蛉在这里低唱,蟋蟀们在这里弹琴。翻开断砖来,有时会遇见蜈蚣;还有斑蝥,倘若用手指按住它的脊梁,便会拍的一声,从后窍喷出一阵烟雾。何首乌藤和木莲藤缠络着,木莲有莲房一般的果实,何首乌有拥肿的根。有人说,何首乌根是有象人形的,吃了便可以成仙,我于是常常拔它起来,牵连不断地拔起来,也曾因此弄坏了泥墙,却从来没有见过有一块根象人样。如果不怕刺,还可以摘到覆盆子,象小珊瑚珠攒成的小球,又酸又甜,色味都比桑椹要好得远。", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4752), "从百草园到三味书屋", new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7") } + }); + + migrationBuilder.InsertData( + table: "Asp.Net_Exercises", + columns: new[] { "Id", "Answers", "CategoryId", "OptionA", "OptionB", "OptionC", "OptionD", "QuestionContent", "TypeId" }, + values: new object[,] + { + { new Guid("0e8a6fc7-8d08-471a-b868-afe2455c1bb0"), "硬件系统和软件系统", new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), "运算器、控制器、存储器、输入设备和输出设备", "主机和外部设备", "硬件系统和软件系统", "主机箱、显示器、键盘、鼠标、打印机", "完整的计算机系统由()组成。", new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") }, + { new Guid("27fb8e31-3a78-430b-adaa-564f5f71ea08"), "硬件系统和软件系统", new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), "运算器、控制器、存储器、输入设备和输出设备", "主机和外部设备", "硬件系统和软件系统", "主机箱、显示器、键盘、鼠标、打印机", "完整的计算机系统由()组成。", new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") }, + { new Guid("2a0aa6f9-fc4f-4649-bf3e-58c4dbd5e277"), "硬件系统和软件系统", new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), "运算器、控制器、存储器、输入设备和输出设备", "主机和外部设备", "硬件系统和软件系统", "主机箱、显示器、键盘、鼠标、打印机", "完整的计算机系统由()组成。", new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") }, + { new Guid("3f3238a1-9dd1-4373-adae-3f3f12e7344c"), "硬件系统和软件系统", new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), "运算器、控制器、存储器、输入设备和输出设备", "主机和外部设备", "硬件系统和软件系统", "主机箱、显示器、键盘、鼠标、打印机", "完整的计算机系统由()组成。", new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") }, + { new Guid("69ad893f-51c9-4539-a65e-6f18356d1037"), "硬件系统和软件系统", new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), "运算器、控制器、存储器、输入设备和输出设备", "主机和外部设备", "硬件系统和软件系统", "主机箱、显示器、键盘、鼠标、打印机", "完整的计算机系统由()组成。", new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") } + }); + + migrationBuilder.InsertData( + table: "AspNetUserRoles", + columns: new[] { "RoleId", "UserId" }, + values: new object[,] + { + { new Guid("aefc0e2d-2b9e-4d47-936d-a4d4b875eb37"), new Guid("3a3a0f63-68b4-4adb-a98c-f87c3527df12") }, + { new Guid("4014b565-3342-40ef-bb0f-e56681fe6601"), new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7") }, + { new Guid("4014b565-3342-40ef-bb0f-e56681fe6601"), new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") }, + { new Guid("aefc0e2d-2b9e-4d47-936d-a4d4b875eb37"), new Guid("a9c75814-64dd-4596-835d-c809f77a352c") }, + { new Guid("4014b565-3342-40ef-bb0f-e56681fe6601"), new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") } + }); + + migrationBuilder.InsertData( + table: "Asp.Ner_AnswerRecord", + columns: new[] { "Id", "AnswerId", "AnswerModeId", "AnswerTime", "IsOrNo", "UserId" }, + values: new object[] { new Guid("45c683df-1a72-4fc1-9e75-f8b661a04355"), new Guid("27fb8e31-3a78-430b-adaa-564f5f71ea08"), new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4970), true, new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") }); + + migrationBuilder.InsertData( + table: "Asp.Net_Comment", + columns: new[] { "Id", "ArticleId", "CommentContent", "CreateTime", "UserId" }, + values: new object[,] + { + { new Guid("253c1ef3-112c-4a30-b60e-c9a47e631b87"), new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4883), new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") }, + { new Guid("372b4bbd-10b9-4c4c-a38a-825cf9a7346b"), new Guid("6104654e-72d0-488f-948a-30c382dac0d0"), "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4874), new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") }, + { new Guid("376f6fcc-1fb8-4ff3-8230-75b553a6a649"), new Guid("cf0430f8-b484-4a50-9f1a-07cf88bfbfef"), "我打,显示“通话中”是不是好多人在打", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4870), new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7") }, + { new Guid("5f368222-fdf3-44b1-bd29-35279ad435f9"), new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4880), new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") }, + { new Guid("97570066-da9a-429f-a990-ae006fb5646f"), new Guid("7acb0ab1-0de4-42f8-92ae-b3dfdc845154"), "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4877), new Guid("3a3a0f63-68b4-4adb-a98c-f87c3527df12") }, + { new Guid("b2977860-d14e-4959-90d3-1783238e4bae"), new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4888), new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") }, + { new Guid("b688f7b8-6fe1-4748-a2fe-3d01b260cb9a"), new Guid("51fe5bf9-3c6f-489d-805e-478aa75a1561"), "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4882), new Guid("a9c75814-64dd-4596-835d-c809f77a352c") }, + { new Guid("c093bf88-5036-4fe2-9ef7-e01abc93e634"), new Guid("51fe5bf9-3c6f-489d-805e-478aa75a1561"), "甚至还是广西北海的电话,好用心。。", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4867), new Guid("a9c75814-64dd-4596-835d-c809f77a352c") }, + { new Guid("d9f315f6-a5d7-4cc4-b3de-f91a6ff023e5"), new Guid("cf0430f8-b484-4a50-9f1a-07cf88bfbfef"), "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4885), new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7") }, + { new Guid("deae1cb4-8b2e-41e3-b91c-a04b88631f49"), new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4853), new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") }, + { new Guid("f0d77aa0-85e7-4806-b103-bc9cc93199e9"), new Guid("51fe5bf9-3c6f-489d-805e-478aa75a1561"), "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4893), new Guid("a9c75814-64dd-4596-835d-c809f77a352c") }, + { new Guid("fa5eb51b-d10a-4c58-9f1b-0dc67c85a13c"), new Guid("6104654e-72d0-488f-948a-30c382dac0d0"), "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4890), new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") } + }); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Ner_AnswerRecord_AnswerId", + table: "Asp.Ner_AnswerRecord", + column: "AnswerId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Ner_AnswerRecord_AnswerModeId", + table: "Asp.Ner_AnswerRecord", + column: "AnswerModeId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Ner_AnswerRecord_UserId", + table: "Asp.Ner_AnswerRecord", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Ner_AnswerScore_AnswerModeId", + table: "Asp.Ner_AnswerScore", + column: "AnswerModeId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Ner_AnswerScore_UserId", + table: "Asp.Ner_AnswerScore", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Net_Article_UserId", + table: "Asp.Net_Article", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Net_ArticleCategory_ArticleId", + table: "Asp.Net_ArticleCategory", + column: "ArticleId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Net_ArticleCategory_CategoryId", + table: "Asp.Net_ArticleCategory", + column: "CategoryId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Net_Collection_ArticleId", + table: "Asp.Net_Collection", + column: "ArticleId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Net_Collection_UserId", + table: "Asp.Net_Collection", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Net_Comment_ArticleId", + table: "Asp.Net_Comment", + column: "ArticleId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Net_Comment_UserId", + table: "Asp.Net_Comment", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Net_Count_ArticleId", + table: "Asp.Net_Count", + column: "ArticleId", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Net_Exercises_CategoryId", + table: "Asp.Net_Exercises", + column: "CategoryId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Net_Exercises_TypeId", + table: "Asp.Net_Exercises", + column: "TypeId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Net_Like_ArticleId", + table: "Asp.Net_Like", + column: "ArticleId"); + + migrationBuilder.CreateIndex( + name: "IX_Asp.Net_Like_UserId", + table: "Asp.Net_Like", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_AspNetRoleClaims_RoleId", + table: "AspNetRoleClaims", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "RoleNameIndex", + table: "AspNetRoles", + column: "NormalizedName", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_AspNetUserClaims_UserId", + table: "AspNetUserClaims", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_AspNetUserLogins_UserId", + table: "AspNetUserLogins", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_AspNetUserRoles_RoleId", + table: "AspNetUserRoles", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "EmailIndex", + table: "AspNetUsers", + column: "NormalizedEmail"); + + migrationBuilder.CreateIndex( + name: "UserNameIndex", + table: "AspNetUsers", + column: "NormalizedUserName", + unique: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Asp.Ner_AnswerRecord"); + + migrationBuilder.DropTable( + name: "Asp.Ner_AnswerScore"); + + migrationBuilder.DropTable( + name: "Asp.Net_ArticleCategory"); + + migrationBuilder.DropTable( + name: "Asp.Net_Collection"); + + migrationBuilder.DropTable( + name: "Asp.Net_Comment"); + + migrationBuilder.DropTable( + name: "Asp.Net_Count"); + + migrationBuilder.DropTable( + name: "Asp.Net_Like"); + + migrationBuilder.DropTable( + name: "AspNetRoleClaims"); + + migrationBuilder.DropTable( + name: "AspNetUserClaims"); + + migrationBuilder.DropTable( + name: "AspNetUserLogins"); + + migrationBuilder.DropTable( + name: "AspNetUserRoles"); + + migrationBuilder.DropTable( + name: "AspNetUserTokens"); + + migrationBuilder.DropTable( + name: "Asp.Net_Exercises"); + + migrationBuilder.DropTable( + name: "Asp.Ner_AnswerModel"); + + migrationBuilder.DropTable( + name: "Asp.Net_Category"); + + migrationBuilder.DropTable( + name: "Asp.Net_Article"); + + migrationBuilder.DropTable( + name: "AspNetRoles"); + + migrationBuilder.DropTable( + name: "Asp.Net_QuestionCategory"); + + migrationBuilder.DropTable( + name: "Asp.Net_QuestionType"); + + migrationBuilder.DropTable( + name: "AspNetUsers"); + } + } +} diff --git a/20230801Server_Side_tentative/Answer.EntityFrameworkCore/Migrations/ApplicationDbContextModelSnapshot.cs b/20230801Server_Side_tentative/Answer.EntityFrameworkCore/Migrations/ApplicationDbContextModelSnapshot.cs new file mode 100644 index 0000000..2e5f7e2 --- /dev/null +++ b/20230801Server_Side_tentative/Answer.EntityFrameworkCore/Migrations/ApplicationDbContextModelSnapshot.cs @@ -0,0 +1,1322 @@ +// +using System; +using Answer.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Answer.EntityFrameworkCore.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + partial class ApplicationDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.9") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("Answer.Model.AnswerModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ModelName") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("Asp.Ner_AnswerModel", (string)null); + + b.HasData( + new + { + Id = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + ModelName = "" + }, + new + { + Id = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + ModelName = "" + }); + }); + + modelBuilder.Entity("Answer.Model.AnswerRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("AnswerId") + .HasColumnType("char(36)"); + + b.Property("AnswerModeId") + .HasColumnType("char(36)"); + + b.Property("AnswerTime") + .HasColumnType("datetime"); + + b.Property("IsOrNo") + .HasColumnType("tinyint(1)"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("AnswerId"); + + b.HasIndex("AnswerModeId"); + + b.HasIndex("UserId"); + + b.ToTable("Asp.Ner_AnswerRecord", (string)null); + + b.HasData( + new + { + Id = new Guid("45c683df-1a72-4fc1-9e75-f8b661a04355"), + AnswerId = new Guid("27fb8e31-3a78-430b-adaa-564f5f71ea08"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + AnswerTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4970), + IsOrNo = true, + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }); + }); + + modelBuilder.Entity("Answer.Model.AnswerScore", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("AnswerModeId") + .HasColumnType("char(36)"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.Property("score") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("AnswerModeId"); + + b.HasIndex("UserId"); + + b.ToTable("Asp.Ner_AnswerScore", (string)null); + + b.HasData( + new + { + Id = new Guid("0b5b242f-56a9-4b93-86e9-95090b3cc07f"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), + score = 100 + }, + new + { + Id = new Guid("b5b4ee6e-80e0-422b-9859-5c1cb7e45b84"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), + score = 110 + }, + new + { + Id = new Guid("d79b16a1-423f-4e94-8852-1d7f47ce8e74"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), + score = 120 + }, + new + { + Id = new Guid("bf4bad40-9d0c-4571-8518-51c845f9d127"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), + score = 150 + }, + new + { + Id = new Guid("2cbe102f-a40e-478c-9aea-b9839bbd686b"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), + score = 113 + }, + new + { + Id = new Guid("80dcbc8e-9b66-4668-9e27-5cf5d40a5d38"), + AnswerModeId = new Guid("03c39e79-1f9f-4498-9741-a5449104fdd8"), + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), + score = 114 + }, + new + { + Id = new Guid("8f320eaf-1c39-4d9c-a937-2c0f7c478258"), + AnswerModeId = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), + score = 110 + }, + new + { + Id = new Guid("2cc1f53b-f5b4-48d0-9f8e-80da488a9c4d"), + AnswerModeId = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), + score = 100 + }, + new + { + Id = new Guid("265e9333-d523-4dfb-8db2-b405a55b2e69"), + AnswerModeId = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), + score = 120 + }, + new + { + Id = new Guid("635c4f51-e2a3-4d7e-8c57-9cae4b2a6bde"), + AnswerModeId = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), + score = 160 + }, + new + { + Id = new Guid("f8ea1914-7ac7-478d-bb8a-3a9763db0394"), + AnswerModeId = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), + score = 150 + }, + new + { + Id = new Guid("64ec5337-197f-4633-b078-6478e6d75c68"), + AnswerModeId = new Guid("0841b983-a400-4291-a3ae-8c4a8f299642"), + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), + score = 140 + }); + }); + + modelBuilder.Entity("Answer.Model.Article", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArtAvatar") + .HasColumnType("longtext"); + + b.Property("Content") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PulishTime") + .HasColumnType("datetime"); + + b.Property("Title") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Asp.Net_Article", (string)null); + + b.HasData( + new + { + Id = new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), + Content = "我相信它是最美的,就因为相信,所以不想破坏了它在我心里的那份完美,一旦真正去了,总会有遗憾,现实永远没有想象的完美。 她把初恋放下了,却放不下他为她描绘的那片风景。 还是因为太在意啊,没有期盼,何来遗憾? 人生需要遗憾,因为遗憾,所以真实;因为遗憾,所以美丽。 就象张家界之于闺蜜,精灵岛之于友人一家,每个人的遗憾都源于心中所念。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4685), + Title = "心有所系 故有所憾", + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }, + new + { + Id = new Guid("51fe5bf9-3c6f-489d-805e-478aa75a1561"), + Content = "路上只我一个人,背着手踱着。这一片天地好像是我的;我也像超出了平常旳自己,到了另一世界里。我爱热闹,也爱冷静;爱群居,也爱独处。像今晚上,一个人在这苍茫旳月下,什么都可以想,什么都可以不想,便觉是个自由的人。白天里一定要做的事,一定要说的话,现在都可不理。这是独处的妙处,我且受用这无边的荷香月色好了。\r\n\r\n曲曲折折的荷塘上面,弥望旳是田田的叶子。叶子出水很高,像亭亭旳舞女旳裙。层层的叶子中间,零星地点缀着些白花,有袅娜(niǎo,nuó)地开着旳,有羞涩地打着朵儿旳;正如一粒粒的明珠,又如碧天里的星星,又如刚出浴的美人。微风过处,送来缕缕清香,仿佛远处高楼上渺茫的歌声似的。这时候叶子与花也有一丝的颤动,像闪电般,霎时传过荷塘的那边去了。叶子本是肩并肩密密地挨着,这便宛然有了一道凝碧的波痕。叶子底下是脉脉(mò)的流水,遮住了,不能见一些颜色;而叶子却更见风致了。\r\n\r\n月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。虽然是满月,天上却有一层淡淡的云,所以不能朗照;但我以为这恰是到了好处——酣眠固不可少,小睡也别有风味的。月光是隔了树照过来的,高处丛生的灌木,落下参差的斑驳的黑影,峭楞楞如鬼一般;弯弯的杨柳的稀疏的倩影,却又像是画在荷叶上。塘中的月色并不均匀;但光与影有着和谐的旋律,如梵婀(ē)玲(英语violin小提琴的译音)上奏着的名曲。\r\n\r\n荷塘的四面,远远近近,高高低低都是树,而杨柳最多。这些树将一片荷塘重重围住;只在小路一旁,漏着几段空隙,像是特为月光留下的。树色一例是阴阴的,乍看像一团烟雾;但杨柳的丰姿,便在烟雾里也辨得出。树梢上隐隐约约的是一带远山,只有些大意罢了。树缝里也漏着一两点路灯光,没精打采的,是渴睡人的眼。这时候最热闹的,要数树上的蝉声与水里的蛙声;但热闹是它们的,我什么也没有。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4749), + Title = "荷塘月色", + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c") + }, + new + { + Id = new Guid("cf0430f8-b484-4a50-9f1a-07cf88bfbfef"), + Content = "不必说碧绿的菜畦,光滑的石井栏,高大的皂荚树,紫红的桑椹;也不必说鸣蝉在树叶里长吟,肥胖的黄蜂伏在菜花上,轻捷的叫天子(云雀)忽然从草间直窜向云霄里去了。单是周围的短短的泥墙根一带,就有无限趣味。油蛉在这里低唱,蟋蟀们在这里弹琴。翻开断砖来,有时会遇见蜈蚣;还有斑蝥,倘若用手指按住它的脊梁,便会拍的一声,从后窍喷出一阵烟雾。何首乌藤和木莲藤缠络着,木莲有莲房一般的果实,何首乌有拥肿的根。有人说,何首乌根是有象人形的,吃了便可以成仙,我于是常常拔它起来,牵连不断地拔起来,也曾因此弄坏了泥墙,却从来没有见过有一块根象人样。如果不怕刺,还可以摘到覆盆子,象小珊瑚珠攒成的小球,又酸又甜,色味都比桑椹要好得远。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4752), + Title = "从百草园到三味书屋", + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7") + }, + new + { + Id = new Guid("6104654e-72d0-488f-948a-30c382dac0d0"), + Content = "园有静观、动观之分,这一点我们在造园之先,首要考虑。何谓静观,就是园中予游者多驻足的观赏点;动观就是要有较长的游览线。二者说来,小园应以静观为主,动观为辅,庭院专主静观。大园则以动观为主,静观为辅。前者如苏州网师园,后者则苏州拙政园差可似之。人们进入网师园宜坐宜留之建筑多,绕池一周,有槛前细数游鱼,有亭中待月迎风,而轩外花影移墙,峰峦当窗,宛然如画,静中生趣。至于拙政园径缘池转,廊引人随,与“日午画船桥下过,衣香人影太匆匆”的瘦西湖相仿佛,妙在移步换影,这是动观。立意在先,文循意出。动静之分,有关园林性质与园林面积大小。象上海正在建造的盆景园,则宜以静观为主,即为一例。\r\n\r\n中国园林是由建筑、山水、花木等组合而成的一个综合艺术品,富有诗情画意。叠山理水要造成“虽由人作,宛自天开”的境界。山与水的关系究竟如何呢?简言之,模山范水,用局部之景而非缩小(网师园水池仿虎丘白莲池,极妙),处理原则悉符画本。山贵有脉,水贵有源,脉源贯通,全园生动。我曾经用“水随山转,山因水活”与“溪水因山成曲折,山蹊随地作低平”来说明山水之间的关系,也就是从真山真水中所得到的启示。明末清初叠山家张南垣主张用平冈小陂、陵阜陂阪,也就是要使园林山水接近自然。如果我们能初步理解这个道理,就不至于离自然太远,多少能呈现水石交融的美妙境界。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4811), + Title = "说园", + UserId = new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") + }, + new + { + Id = new Guid("7acb0ab1-0de4-42f8-92ae-b3dfdc845154"), + Content = "“雅舍”最宜月夜——地势较高,得月较先。看山头吐月,红盘乍涌,一霎间,清光四射,天空皎洁,四野无声,微闻犬吠,坐客无不悄然!舍前有两株梨树,等到月升中天,清光从树间筛洒而下,地下阴影斑斓,此时尤为幽绝。直到兴阑人散,归房就寝,月光仍然逼进窗来,助我凄凉。细雨蒙蒙之际,“雅舍”亦复有趣。推窗展望,俨然米氏章法,若云若雾,一片弥漫。但若大雨滂沱,我就又惶悚不安了,屋顶浓印到处都有,起初如碗大,俄而扩大如盆,继则滴水乃不绝,终乃屋顶灰泥突然崩裂,如奇葩初绽,砉然一声而泥水下注,此刻满室狼藉,抢救无及。此种经验,已数见不鲜。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4814), + Title = "雅舍", + UserId = new Guid("3a3a0f63-68b4-4adb-a98c-f87c3527df12") + }, + new + { + Id = new Guid("70ba813f-9662-4672-8cd3-dd94f709c222"), + Content = "信步走下山门去,何曾想寻幽访胜?\r\n\r\n转过山坳来,一片青草地,参天的树影无际。树后弯弯的石桥,桥后两个俯蹲在残照里的狮子。回过头来,只一道的断瓦颓垣,剥落的红门,却深深掩闭。原来是故家陵阙!何用来感慨兴亡,且印下一幅图画。\r\n\r\n半山里,凭高下视,千百的燕子,绕着殿儿飞。城垛般的围墙,白石的甬道,黄绿琉璃瓦的门楼,玲珑剔透。楼前是山上的晚霞鲜红,楼后是天边的平原村树,深蓝浓紫。暮霭里,融合在一起。难道是玉宇琼楼?难道是瑶宫贝阙?何用来搜索诗肠,且印下一幅图画。\r\n\r\n低头走着,—首诗的断句,忽然浮上脑海来。“四月江南无矮树,人家都在绿阴中。”何用苦忆是谁的著作,何用苦忆这诗的全文。只此已描画尽了山下的人家!", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4827), + Title = "图画", + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c") + }, + new + { + Id = new Guid("99d01c65-78c4-429d-9658-93872dc45252"), + Content = "康桥的灵性全在一条河上;康河,我敢说是全世界最秀丽的一条水。河的名字是葛兰大(Granta),也有叫康河(Kiver Cam)的,许有上下流的区别,我不甚清楚。河身多的是曲折,上游是有名的拜伦潭——“Byron’s Pool”——当年拜伦常在那里玩的;有一个老村子叫格兰骞斯德,有一个果子园,你可以躺在累累的桃李树荫下吃茶,花果会掉入你的茶杯,小雀子会到你桌上来啄食,那真是别有一番天地。这是上游;下游是从骞斯德顿下去,河面展开,那是春夏间竞舟的场所。上下河分界处有一个坝筑,水流急得很,在星光下听水声,听近村晚钟声,听河畔倦牛刍草声,是我康桥经验中最神秘的一种:大自然的优美、宁静,调谐在这星光与波光的默契中不期然的淹入了你的性灵。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4830), + Title = "我所知道的康桥", + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }, + new + { + Id = new Guid("71a504c9-29f1-499f-b5d8-d78880881351"), + Content = "倘若出城,走三四十里路(我们那里的里程是很短,一里才及英里三分之一),来回总要预备一天。你坐在船上,应该是游山的态度,看看四周物色,随处可见的山,岸旁的乌柏,河边的红寥和白殇,渔舍,各式各样的桥,困倦的时候睡在舱中拿出随笔来看,或者冲一碗清茶喝喝。偏门外的鉴湖一带,贺家池,壶筋左近,我都是喜欢的,或者往娄公埠骑驴去游兰亭(但我劝你还是步行,骑驴或者于你不很相宜),到得暮色苍然的时候进城上都挂着薛荔的东门来,倒是颇有趣味的事。倘若路上不平静,你往杭州去时可于下午开船,黄昏时候的景色正最好看,只可惜这一带地方的名字我都忘记了。夜间睡在舱中,听水声橹声,来往船只的招呼声,以及乡间的犬吠鸡鸣,也都很有意思。雇一只船到乡下去看庙戏,可以了解中国旧戏的真趣味,而且在船上行动自如,要看就看,要睡就睡,要喝酒就喝酒,我觉得也可以算是理想的行乐法。只可惜讲维新以来这些演剧与迎会都已禁止,中产阶级的低能人别在“布业会馆”等处建起“海式”的戏场来,请大家买票看上海的猫儿戏。这些地方你千万不要去。--你到我那故乡,恐怕没有一个人认得,我又因为在教书不能陪你去玩,坐夜船,谈闲天,实在抱歉而且惆怅。川岛君夫妇现在偁山下,本来可以给你绍介,但是你到那里的时候他们恐怕已经离开故乡了。初寒,善自珍重,不尽。", + PulishTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4833), + Title = "乌篷船", + UserId = new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") + }); + }); + + modelBuilder.Entity("Answer.Model.ArticleCategory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArticleId") + .HasColumnType("char(36)"); + + b.Property("CategoryId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ArticleId"); + + b.HasIndex("CategoryId"); + + b.ToTable("Asp.Net_ArticleCategory", (string)null); + }); + + modelBuilder.Entity("Answer.Model.Category", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CategoryName") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("Asp.Net_Category", (string)null); + }); + + modelBuilder.Entity("Answer.Model.Collection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArticleId") + .HasColumnType("char(36)"); + + b.Property("CollectionTime") + .HasColumnType("datetime"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ArticleId"); + + b.HasIndex("UserId"); + + b.ToTable("Asp.Net_Collection", (string)null); + }); + + modelBuilder.Entity("Answer.Model.Comment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArticleId") + .HasColumnType("char(36)"); + + b.Property("CommentContent") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CreateTime") + .HasColumnType("datetime"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ArticleId"); + + b.HasIndex("UserId"); + + b.ToTable("Asp.Net_Comment", (string)null); + + b.HasData( + new + { + Id = new Guid("deae1cb4-8b2e-41e3-b91c-a04b88631f49"), + ArticleId = new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4853), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }, + new + { + Id = new Guid("c093bf88-5036-4fe2-9ef7-e01abc93e634"), + ArticleId = new Guid("51fe5bf9-3c6f-489d-805e-478aa75a1561"), + CommentContent = "甚至还是广西北海的电话,好用心。。", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4867), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c") + }, + new + { + Id = new Guid("376f6fcc-1fb8-4ff3-8230-75b553a6a649"), + ArticleId = new Guid("cf0430f8-b484-4a50-9f1a-07cf88bfbfef"), + CommentContent = "我打,显示“通话中”是不是好多人在打", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4870), + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7") + }, + new + { + Id = new Guid("372b4bbd-10b9-4c4c-a38a-825cf9a7346b"), + ArticleId = new Guid("6104654e-72d0-488f-948a-30c382dac0d0"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4874), + UserId = new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") + }, + new + { + Id = new Guid("97570066-da9a-429f-a990-ae006fb5646f"), + ArticleId = new Guid("7acb0ab1-0de4-42f8-92ae-b3dfdc845154"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4877), + UserId = new Guid("3a3a0f63-68b4-4adb-a98c-f87c3527df12") + }, + new + { + Id = new Guid("5f368222-fdf3-44b1-bd29-35279ad435f9"), + ArticleId = new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4880), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }, + new + { + Id = new Guid("b688f7b8-6fe1-4748-a2fe-3d01b260cb9a"), + ArticleId = new Guid("51fe5bf9-3c6f-489d-805e-478aa75a1561"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4882), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c") + }, + new + { + Id = new Guid("253c1ef3-112c-4a30-b60e-c9a47e631b87"), + ArticleId = new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4883), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }, + new + { + Id = new Guid("d9f315f6-a5d7-4cc4-b3de-f91a6ff023e5"), + ArticleId = new Guid("cf0430f8-b484-4a50-9f1a-07cf88bfbfef"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4885), + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7") + }, + new + { + Id = new Guid("b2977860-d14e-4959-90d3-1783238e4bae"), + ArticleId = new Guid("a64a3628-921b-4c72-847e-e0b3a502d9f9"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4888), + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0") + }, + new + { + Id = new Guid("fa5eb51b-d10a-4c58-9f1b-0dc67c85a13c"), + ArticleId = new Guid("6104654e-72d0-488f-948a-30c382dac0d0"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4890), + UserId = new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75") + }, + new + { + Id = new Guid("f0d77aa0-85e7-4806-b103-bc9cc93199e9"), + ArticleId = new Guid("51fe5bf9-3c6f-489d-805e-478aa75a1561"), + CommentContent = "相柳大人真的我哭死[tv_大哭]他超爱!\r\n手机号码13977992659\r\n“一生就,长长久久,安乐无忧”\r\n檀健次他给予角色最极致的浪漫!\r\n檀健次天选相柳,最NB的纸片人角是影视化之一", + CreateTime = new DateTime(2023, 8, 11, 9, 7, 59, 371, DateTimeKind.Local).AddTicks(4893), + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c") + }); + }); + + modelBuilder.Entity("Answer.Model.Count", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArticleId") + .HasColumnType("char(36)"); + + b.Property("CommentNum") + .HasColumnType("int"); + + b.Property("LikeNum") + .HasColumnType("int"); + + b.Property("PageView") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ArticleId") + .IsUnique(); + + b.ToTable("Asp.Net_Count", (string)null); + }); + + modelBuilder.Entity("Answer.Model.Exercises", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Answers") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CategoryId") + .HasColumnType("char(36)"); + + b.Property("ExerciseId") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("OptionA") + .HasColumnType("longtext"); + + b.Property("OptionB") + .HasColumnType("longtext"); + + b.Property("OptionC") + .HasColumnType("longtext"); + + b.Property("OptionD") + .HasColumnType("longtext"); + + b.Property("QuestionContent") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("TypeId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasAlternateKey("ExerciseId"); + + b.HasIndex("CategoryId"); + + b.HasIndex("TypeId"); + + b.ToTable("Asp.Net_Exercises", (string)null); + + b.HasAnnotation("MySql:StoreOptions", "AUTO_INCREMENT=800"); + + b.HasData( + new + { + Id = new Guid("27fb8e31-3a78-430b-adaa-564f5f71ea08"), + Answers = "硬件系统和软件系统", + CategoryId = new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), + ExerciseId = 0, + OptionA = "运算器、控制器、存储器、输入设备和输出设备", + OptionB = "主机和外部设备", + OptionC = "硬件系统和软件系统", + OptionD = "主机箱、显示器、键盘、鼠标、打印机", + QuestionContent = "完整的计算机系统由()组成。", + TypeId = new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") + }, + new + { + Id = new Guid("2a0aa6f9-fc4f-4649-bf3e-58c4dbd5e277"), + Answers = "硬件系统和软件系统", + CategoryId = new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), + ExerciseId = 0, + OptionA = "运算器、控制器、存储器、输入设备和输出设备", + OptionB = "主机和外部设备", + OptionC = "硬件系统和软件系统", + OptionD = "主机箱、显示器、键盘、鼠标、打印机", + QuestionContent = "完整的计算机系统由()组成。", + TypeId = new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") + }, + new + { + Id = new Guid("0e8a6fc7-8d08-471a-b868-afe2455c1bb0"), + Answers = "硬件系统和软件系统", + CategoryId = new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), + ExerciseId = 0, + OptionA = "运算器、控制器、存储器、输入设备和输出设备", + OptionB = "主机和外部设备", + OptionC = "硬件系统和软件系统", + OptionD = "主机箱、显示器、键盘、鼠标、打印机", + QuestionContent = "完整的计算机系统由()组成。", + TypeId = new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") + }, + new + { + Id = new Guid("3f3238a1-9dd1-4373-adae-3f3f12e7344c"), + Answers = "硬件系统和软件系统", + CategoryId = new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), + ExerciseId = 0, + OptionA = "运算器、控制器、存储器、输入设备和输出设备", + OptionB = "主机和外部设备", + OptionC = "硬件系统和软件系统", + OptionD = "主机箱、显示器、键盘、鼠标、打印机", + QuestionContent = "完整的计算机系统由()组成。", + TypeId = new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") + }, + new + { + Id = new Guid("69ad893f-51c9-4539-a65e-6f18356d1037"), + Answers = "硬件系统和软件系统", + CategoryId = new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), + ExerciseId = 0, + OptionA = "运算器、控制器、存储器、输入设备和输出设备", + OptionB = "主机和外部设备", + OptionC = "硬件系统和软件系统", + OptionD = "主机箱、显示器、键盘、鼠标、打印机", + QuestionContent = "完整的计算机系统由()组成。", + TypeId = new Guid("d5e44a40-25e0-4504-ab24-84990b533d12") + }); + }); + + modelBuilder.Entity("Answer.Model.Like", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArticleId") + .HasColumnType("char(36)"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ArticleId"); + + b.HasIndex("UserId"); + + b.ToTable("Asp.Net_Like", (string)null); + }); + + modelBuilder.Entity("Answer.Model.QuestionCategory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CategoryName") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("Asp.Net_QuestionCategory", (string)null); + + b.HasData( + new + { + Id = new Guid("ba3039fa-ea52-4348-8e6a-91bc30a966de"), + CategoryName = "单选题" + }, + new + { + Id = new Guid("7ddbabfd-f716-494a-b372-4af4ddedef9b"), + CategoryName = "填空题" + }, + new + { + Id = new Guid("d168b7ac-23e8-41f8-b7ea-c5a375b5d363"), + CategoryName = "多选题" + }, + new + { + Id = new Guid("d3e8e36d-ae07-484e-9062-e4e566e59804"), + CategoryName = "简答题" + }); + }); + + modelBuilder.Entity("Answer.Model.QuestionType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("TypeName") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("Asp.Net_QuestionType", (string)null); + + b.HasData( + new + { + Id = new Guid("d5e44a40-25e0-4504-ab24-84990b533d12"), + TypeName = "综合题" + }, + new + { + Id = new Guid("30f18ff7-52ab-4240-b7a2-7f1b2f612259"), + TypeName = "前端题" + }, + new + { + Id = new Guid("03468e13-38dc-464e-949a-0efa40c104a1"), + TypeName = "后端题" + }, + new + { + Id = new Guid("50c7ed97-4e30-42a7-8893-397fa63d7144"), + TypeName = "算法题" + }); + }); + + modelBuilder.Entity("Answer.Model.Role", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("longtext"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex"); + + b.ToTable("AspNetRoles", (string)null); + + b.HasData( + new + { + Id = new Guid("4014b565-3342-40ef-bb0f-e56681fe6601"), + Name = "admin", + NormalizedName = "admin" + }, + new + { + Id = new Guid("aefc0e2d-2b9e-4d47-936d-a4d4b875eb37"), + Name = "user", + NormalizedName = "user" + }); + }); + + modelBuilder.Entity("Answer.Model.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("AccessFailedCount") + .HasColumnType("int"); + + b.Property("Avatar") + .HasColumnType("longtext"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("longtext"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("tinyint(1)"); + + b.Property("Gender") + .HasColumnType("int"); + + b.Property("JwtVersion") + .HasColumnType("bigint"); + + b.Property("LockoutEnabled") + .HasColumnType("tinyint(1)"); + + b.Property("LockoutEnd") + .HasColumnType("datetime"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("PasswordHash") + .HasColumnType("longtext"); + + b.Property("PhoneNumber") + .HasColumnType("longtext"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("tinyint(1)"); + + b.Property("SecurityStamp") + .HasColumnType("longtext"); + + b.Property("Signature") + .HasColumnType("longtext"); + + b.Property("TwoFactorEnabled") + .HasColumnType("tinyint(1)"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.ToTable("AspNetUsers", (string)null); + + b.HasData( + new + { + Id = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), + AccessFailedCount = 0, + ConcurrencyStamp = "db6fdf80-767b-4968-92c9-8ef820d2bfe5", + EmailConfirmed = false, + Gender = 1, + JwtVersion = 0L, + LockoutEnabled = false, + NormalizedUserName = "陈佳伦", + PasswordHash = "AQAAAAIAAYagAAAAEFlD7CIY+kOiRKH/TIrYa+Vg8PPbeYLX21/kcF9wDHVwd1gb0nVdMuCkqObn8OyK2w==", + PhoneNumber = "15880822146", + PhoneNumberConfirmed = false, + SecurityStamp = "false", + TwoFactorEnabled = false, + UserName = "陈佳伦" + }, + new + { + Id = new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), + AccessFailedCount = 0, + ConcurrencyStamp = "380a6674-1670-4839-96d5-a74a51cda2a6", + EmailConfirmed = false, + Gender = 1, + JwtVersion = 0L, + LockoutEnabled = false, + NormalizedUserName = "潘辉达", + PasswordHash = "AQAAAAIAAYagAAAAEG0BZvcgubD/uw12o3bqlcKs8TsYAX/RBqIJ/C4dWo2c4pYNvxsX+b9uBCvK9ihujA==", + PhoneNumber = "15759761073", + PhoneNumberConfirmed = false, + SecurityStamp = "false", + TwoFactorEnabled = false, + UserName = "潘辉达" + }, + new + { + Id = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), + AccessFailedCount = 0, + ConcurrencyStamp = "2ade96f6-9cf5-433e-8f10-64b7dca3131f", + EmailConfirmed = false, + Gender = 1, + JwtVersion = 0L, + LockoutEnabled = false, + NormalizedUserName = "陈俞伽", + PasswordHash = "AQAAAAIAAYagAAAAEBuQXAIkGDIF63pVQwUCsSrlu9tTK9SzjIoRnd0j7ygBJQpGTuU5ZkoJ5WjyNA8hlw==", + PhoneNumber = "19835623578", + PhoneNumberConfirmed = false, + SecurityStamp = "false", + TwoFactorEnabled = false, + UserName = "陈俞伽" + }, + new + { + Id = new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75"), + AccessFailedCount = 0, + ConcurrencyStamp = "0eb487cb-9305-49f9-bcf7-0d95b8e1d0fb", + EmailConfirmed = false, + Gender = 1, + JwtVersion = 0L, + LockoutEnabled = false, + NormalizedUserName = "陈俊兴", + PasswordHash = "AQAAAAIAAYagAAAAEJK90n4xhp4gFfImwyUnz+2yX55uKm+ElRdfWEDMpizyzb0IarFp9k/hs+JnK3UGBw==", + PhoneNumber = "18965555479", + PhoneNumberConfirmed = false, + SecurityStamp = "false", + TwoFactorEnabled = false, + UserName = "陈俊兴" + }, + new + { + Id = new Guid("3a3a0f63-68b4-4adb-a98c-f87c3527df12"), + AccessFailedCount = 0, + ConcurrencyStamp = "30313146-0cf0-41dc-a1d8-a478d017b2fe", + EmailConfirmed = false, + Gender = 1, + JwtVersion = 0L, + LockoutEnabled = false, + NormalizedUserName = "王郁齐", + PasswordHash = "AQAAAAIAAYagAAAAEOwJu3xf5iO54LNyPmILbMhqAL9SULt+0qJpuO5Ts+mpHuDL39zN/Okr9EYK1RGctQ==", + PhoneNumber = "18939351486", + PhoneNumberConfirmed = false, + SecurityStamp = "false", + TwoFactorEnabled = false, + UserName = "王郁齐" + }); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("ClaimType") + .HasColumnType("longtext"); + + b.Property("ClaimValue") + .HasColumnType("longtext"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("ClaimType") + .HasColumnType("longtext"); + + b.Property("ClaimValue") + .HasColumnType("longtext"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("varchar(95)"); + + b.Property("ProviderKey") + .HasColumnType("varchar(95)"); + + b.Property("ProviderDisplayName") + .HasColumnType("longtext"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("char(36)"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + + b.HasData( + new + { + UserId = new Guid("a4aecfce-b558-474c-b326-fb3159253ef0"), + RoleId = new Guid("4014b565-3342-40ef-bb0f-e56681fe6601") + }, + new + { + UserId = new Guid("a9c75814-64dd-4596-835d-c809f77a352c"), + RoleId = new Guid("aefc0e2d-2b9e-4d47-936d-a4d4b875eb37") + }, + new + { + UserId = new Guid("44c719a8-0113-47da-bc5c-c326ff7c01c7"), + RoleId = new Guid("4014b565-3342-40ef-bb0f-e56681fe6601") + }, + new + { + UserId = new Guid("f8c5dde7-f612-40db-8d7e-5a2efcd98c75"), + RoleId = new Guid("4014b565-3342-40ef-bb0f-e56681fe6601") + }, + new + { + UserId = new Guid("3a3a0f63-68b4-4adb-a98c-f87c3527df12"), + RoleId = new Guid("aefc0e2d-2b9e-4d47-936d-a4d4b875eb37") + }); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("char(36)"); + + b.Property("LoginProvider") + .HasColumnType("varchar(95)"); + + b.Property("Name") + .HasColumnType("varchar(95)"); + + b.Property("Value") + .HasColumnType("longtext"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("Answer.Model.AnswerRecord", b => + { + b.HasOne("Answer.Model.Exercises", "ExercisesTabel") + .WithMany("Record") + .HasForeignKey("AnswerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.AnswerModel", "AnswerModel") + .WithMany("AnswerRecords") + .HasForeignKey("AnswerModeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.User", "Users") + .WithMany("answerRecords") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("AnswerModel"); + + b.Navigation("ExercisesTabel"); + + b.Navigation("Users"); + }); + + modelBuilder.Entity("Answer.Model.AnswerScore", b => + { + b.HasOne("Answer.Model.AnswerModel", "AnswerModel") + .WithMany("answerScores") + .HasForeignKey("AnswerModeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.User", "Users") + .WithMany("answerScores") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("AnswerModel"); + + b.Navigation("Users"); + }); + + modelBuilder.Entity("Answer.Model.Article", b => + { + b.HasOne("Answer.Model.User", "User") + .WithMany("Articles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Answer.Model.ArticleCategory", b => + { + b.HasOne("Answer.Model.Article", "Article") + .WithMany("ArticleCategorys") + .HasForeignKey("ArticleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.Category", "Category") + .WithMany("ArticleCategorys") + .HasForeignKey("CategoryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Article"); + + b.Navigation("Category"); + }); + + modelBuilder.Entity("Answer.Model.Collection", b => + { + b.HasOne("Answer.Model.Article", "Article") + .WithMany("Collections") + .HasForeignKey("ArticleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.User", "User") + .WithMany("Collections") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Article"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Answer.Model.Comment", b => + { + b.HasOne("Answer.Model.Article", "Article") + .WithMany("Comments") + .HasForeignKey("ArticleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.User", "User") + .WithMany("Comments") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Article"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Answer.Model.Count", b => + { + b.HasOne("Answer.Model.Article", "Articles") + .WithOne("Count") + .HasForeignKey("Answer.Model.Count", "ArticleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Articles"); + }); + + modelBuilder.Entity("Answer.Model.Exercises", b => + { + b.HasOne("Answer.Model.QuestionCategory", "QuestionCategory") + .WithMany("Exercises") + .HasForeignKey("CategoryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.QuestionType", "QuestionType") + .WithMany("Exercises") + .HasForeignKey("TypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("QuestionCategory"); + + b.Navigation("QuestionType"); + }); + + modelBuilder.Entity("Answer.Model.Like", b => + { + b.HasOne("Answer.Model.Article", "Article") + .WithMany("Likes") + .HasForeignKey("ArticleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.User", "User") + .WithMany("Likes") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Article"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Answer.Model.Role", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("Answer.Model.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("Answer.Model.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("Answer.Model.Role", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Answer.Model.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("Answer.Model.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Answer.Model.AnswerModel", b => + { + b.Navigation("AnswerRecords"); + + b.Navigation("answerScores"); + }); + + modelBuilder.Entity("Answer.Model.Article", b => + { + b.Navigation("ArticleCategorys"); + + b.Navigation("Collections"); + + b.Navigation("Comments"); + + b.Navigation("Count"); + + b.Navigation("Likes"); + }); + + modelBuilder.Entity("Answer.Model.Category", b => + { + b.Navigation("ArticleCategorys"); + }); + + modelBuilder.Entity("Answer.Model.Exercises", b => + { + b.Navigation("Record"); + }); + + modelBuilder.Entity("Answer.Model.QuestionCategory", b => + { + b.Navigation("Exercises"); + }); + + modelBuilder.Entity("Answer.Model.QuestionType", b => + { + b.Navigation("Exercises"); + }); + + modelBuilder.Entity("Answer.Model.User", b => + { + b.Navigation("Articles"); + + b.Navigation("Collections"); + + b.Navigation("Comments"); + + b.Navigation("Likes"); + + b.Navigation("answerRecords"); + + b.Navigation("answerScores"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/20230801Server_Side_tentative/Answer.Model/Comment.cs b/20230801Server_Side_tentative/Answer.Model/Comment.cs index d233a85..cbc6d80 100644 --- a/20230801Server_Side_tentative/Answer.Model/Comment.cs +++ b/20230801Server_Side_tentative/Answer.Model/Comment.cs @@ -18,7 +18,7 @@ namespace Answer.Model public Guid ArticleId { get; set; } public Article Article { get; set; } = null!; - + /// /// 评论的用户 /// diff --git a/20230801Server_Side_tentative/Answer.Model/Exercises.cs b/20230801Server_Side_tentative/Answer.Model/Exercises.cs index 0173f3b..0781403 100644 --- a/20230801Server_Side_tentative/Answer.Model/Exercises.cs +++ b/20230801Server_Side_tentative/Answer.Model/Exercises.cs @@ -13,6 +13,12 @@ namespace Answer.Model public class Exercises:BaseId { /// + + /// 题目id + /// + public int ExerciseId { get; set; } + /// + /// 题目问题 /// public string QuestionContent { get; set; } = null!; diff --git a/20230801Server_Side_tentative/Answer.WebApi/Controllers/AnswerController.cs b/20230801Server_Side_tentative/Answer.WebApi/Controllers/AnswerController.cs index 2a105c0..bc9b32b 100644 --- a/20230801Server_Side_tentative/Answer.WebApi/Controllers/AnswerController.cs +++ b/20230801Server_Side_tentative/Answer.WebApi/Controllers/AnswerController.cs @@ -18,6 +18,7 @@ namespace Answer.WebApi.Controllers /// /// 构造函数 /// + public AnswerController(IAnswerScoreService answerScoreService ) { _answerScoreService = answerScoreService; @@ -27,24 +28,30 @@ namespace Answer.WebApi.Controllers /// /// /// + + + + [HttpGet("GetAnswerRanking")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] [ProducesResponseType(StatusCodes.Status403Forbidden)] [ProducesResponseType(StatusCodes.Status401Unauthorized)] - [NotCheckJwtVersion] + public async Task GetAnswerRanking(Guid id) { var data = await _answerScoreService.AnswerRanking(id); - if (data.Code == 200) - { - return Ok(data); - } - return NotFound(data.Messages); - } + + if (data.Code == 200) + { + return Ok(data); + } + return NotFound(data.Messages); + + } } } diff --git a/20230801Server_Side_tentative/Answer.WebApi/Controllers/ArticleController.cs b/20230801Server_Side_tentative/Answer.WebApi/Controllers/ArticleController.cs index 5bbd130..764d37a 100644 --- a/20230801Server_Side_tentative/Answer.WebApi/Controllers/ArticleController.cs +++ b/20230801Server_Side_tentative/Answer.WebApi/Controllers/ArticleController.cs @@ -30,75 +30,21 @@ namespace Answer.WebApi.Controllers ///
/// - [HttpGet("all")] + [HttpGet("All")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] - //[Authorize] - [NotCheckJwtVersion] - public async Task GetAllArticle() - { - var data = await _ArticleService.GetAllArticle(); - if (data.Code == 200) - { - return Ok(data); - } - return NotFound(data.Messages); - } - - /// - /// 点赞排名 - /// - /// - [HttpGet("like/ranking")] - [ProducesResponseType(StatusCodes.Status200OK)] - [ProducesResponseType(StatusCodes.Status404NotFound)] - [NotCheckJwtVersion] - public async Task GetLikeRanking() - { - var data = await _ArticleService.GetLikeRanking(); - if (data.Code == 200) - { - return Ok(data); - } - return NotFound(data.Messages); - } + [Authorize] - /// - /// 评论排名 - /// - /// - [HttpGet("comment/ranking")] - [ProducesResponseType(StatusCodes.Status200OK)] - [ProducesResponseType(StatusCodes.Status404NotFound)] - [NotCheckJwtVersion] - public async Task GetCommentRanking() - { - var data = await _ArticleService.GetCommentRanking(); - if (data.Code == 200) - { - return Ok(data); - } - return NotFound(data.Messages); - } - /// - /// 浏览排名 - /// - /// - [HttpGet("pageview/ranking")] - [ProducesResponseType(StatusCodes.Status200OK)] - [ProducesResponseType(StatusCodes.Status404NotFound)] - [NotCheckJwtVersion] - public async Task GetPageViewRanking() + public async Task GetAllArticle() { - var data = await _ArticleService.GetPageViewRanking(); + var data = await _ArticleService.GetAllArticle(); if (data.Code == 200) { return Ok(data); } return NotFound(data.Messages); } - /// /// 通过用户id拿文章 /// @@ -107,7 +53,7 @@ namespace Answer.WebApi.Controllers [HttpGet("{id}")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] - [Authorize] + [NotCheckJwtVersion] public async Task GetAriticleInfo(Guid id) { var data = await _ArticleService.GetArticleById(id); @@ -124,7 +70,7 @@ namespace Answer.WebApi.Controllers /// /// /// - [HttpGet("all/pag")] + [HttpGet("pag")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] public async Task GetArticleByPag(int page, int pageSize) @@ -142,10 +88,11 @@ namespace Answer.WebApi.Controllers /// /// /// - [HttpPost("add")] + [HttpPost("Add")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] - [Authorize] + [NotCheckJwtVersion] + public async Task AddArticle(AddArticle addArticle) { var data = await _ArticleService.AddArticle(addArticle); @@ -200,7 +147,7 @@ namespace Answer.WebApi.Controllers /// /// /// - [HttpDelete("all")] + [HttpDelete("All")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] public async Task BatchDeleteArticle(Guid[] ids) diff --git a/20230801Server_Side_tentative/Answer.WebApi/Controllers/CountController.cs b/20230801Server_Side_tentative/Answer.WebApi/Controllers/CountController.cs index 08c95c8..738ed4a 100644 --- a/20230801Server_Side_tentative/Answer.WebApi/Controllers/CountController.cs +++ b/20230801Server_Side_tentative/Answer.WebApi/Controllers/CountController.cs @@ -9,6 +9,7 @@ using AutoMapper; using Answer.Repository.Intrefaces; using Microsoft.AspNetCore.Authorization; using System.Xml.Linq; +using System.IO; namespace Answer.WebApi.Controllers @@ -20,10 +21,6 @@ namespace Answer.WebApi.Controllers { private readonly ICountService _count; - /// - /// 构造函数 - /// - /// public CountController(ICountService count) { _count = count; @@ -52,12 +49,13 @@ namespace Answer.WebApi.Controllers + /// /// 根据文章Id评论点赞加一, 一键三连 - /// - /// - /// - [Authorize] + /// + /// + /// + [Authorize] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] [HttpPut("UpdateCount")] @@ -71,6 +69,7 @@ namespace Answer.WebApi.Controllers return StatusCode(data.Code, data); } + /// /// 根据 文章id 查询该文章的评论点赞总数 /// @@ -144,5 +143,6 @@ namespace Answer.WebApi.Controllers } return StatusCode(data.Code, data); } + } } diff --git a/20230801Server_Side_tentative/Answer.WebApi/Controllers/ExercisesController.cs b/20230801Server_Side_tentative/Answer.WebApi/Controllers/ExercisesController.cs index 2109504..e35a047 100644 --- a/20230801Server_Side_tentative/Answer.WebApi/Controllers/ExercisesController.cs +++ b/20230801Server_Side_tentative/Answer.WebApi/Controllers/ExercisesController.cs @@ -16,10 +16,6 @@ namespace Answer.WebApi.Controllers public class ExercisesController : ControllerBase { private readonly IExercisesService _exercisesService; - /// - /// 构造函数 - /// - /// public ExercisesController(IExercisesService exercisesService) { _exercisesService = exercisesService; @@ -82,7 +78,6 @@ namespace Answer.WebApi.Controllers /// /// 根据ID 修改题目 /// - /// /// /// [HttpPut("PutIdExercises")] @@ -119,12 +114,11 @@ namespace Answer.WebApi.Controllers } return StatusCode(data.Code, data); } - /// /// 随机一条题目 /// - /// /// + [HttpPut("GetRandomOneExercises")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -165,7 +159,25 @@ namespace Answer.WebApi.Controllers return StatusCode(data.Code, data); } - + + /// + /// 分页模糊查询 + /// + /// + [HttpGet("PagingFuzzyGetAllExercise")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + [NotCheckJwtVersion] + public async Task PagingFuzzyGetAllExercise(string keyword = null, int page = 1, int pagesize = 5) + { + var data = await _exercisesService.GetAllExercises(); + if (data.Code == 200) + { + return Ok(data); + } + return StatusCode(data.Code, data); + } } } -- Gitee