Te whakataurite me te kowhiringa o nga punaha hekenga raraunga
Ko te tauira raraunga ka huri i te wa o te tukanga whanaketanga, a, i etahi wa ka kore e rite ki te papaunga raraunga. Ko te tikanga, ka taea te whakakore i te papaarangi, katahi ka hangaia e te ORM he putanga hou e rite ana ki te tauira, engari ko tenei tikanga ka arahi ki te ngaro o nga raraunga o mua. Na, ko te mahi a te punaha hekenga ko te whakarite, na te whakarereketanga o te kaupapa, ka tukutahi me te tauira raraunga i roto i te tono me te kore e ngaro nga raraunga o naianei.
I roto i tenei tuhinga, e hiahia ana matou ki te titiro ki nga momo taputapu mo te whakahaere i nga hekenga raraunga. Ko te tumanako ka whai hua tenei arotake mo nga kaiwhakawhanake e pa ana ki tetahi whiringa rite.
Whāinga
I tenei wa kei te kaha to taatau kamupene ki te whakawhanake i te reanga hua e whai ake nei - Docs Security Suite (DSS). Ko te waahanga tūmau kua tuhia ki te .Net Core, ka whakamahia te Entity Framework Core hei DBMS. I te wa e hoahoa ana i tetahi tono, ka whakamahia e matou te huarahi Waehere Tuatahi.
Ko te tauira rohe tono he mea hanga e etahi kaiwhakawhanake i te wa kotahi - kei ia tangata te kawenga mo o raatau ake waahanga arorau o te punaha.
I whakamahia e te reanga o mua o DSS te Mahinga Anga Hinonga Matarohia (EF 6) hei punaha whakahaere heke. Heoi, kua whakaemihia etahi amuamu ki a ia, ko te mea nui ko te kore o te EF i te huarahi tika ki te whakatau i nga raruraru putanga. Ko tenei meka e whakapouri tonu ana i a matou i te wa e whakatika ana nga pepeha hei waahanga tautoko, no reira i whakaaro matou ki te whakaaro ki etahi atu whiringa.
Ko te hua o nga korerorero, i hangaia nga whakaritenga e whai ake nei mo te punaha whakahaere heke:
- Tautoko mo nga momo DBMS. MS SQL Server, PostgreSQL, Oracle e hiahiatia ana, engari ka taea pea te whakamahi i etahi atu
- Mahi tahi me ORM. I te timatanga, i whakamaheretia kia whakamahia te EF Core, engari i te waahanga hoahoa kua rite matou ki te whakaaro ki etahi atu ORM
- Whakatupu-aunoa o nga heke. Ma te whai whakaaro ki te whanaketanga o te Waehere Tuatahi, ka hiahia ahau ki te karo i te hiahia ki te "tuhi-a-ringa" nga heke
- Putanga papā. I roto i te taiao whakawhanaketanga toha, i te wa e hanumi ana, ka mamae pea a EF Core i nga raruraru. He raru nui tenei na te mea he rereke nga waahanga o te tono ka hangaia e nga kaiwhakawhanake rereke, na me whakapau he wa roa mo ia.
- Nga tuhinga roa me te tautoko. I konei, ki ta matou titiro, kaore he whakamaramatanga
- Kore utu. He herenga te paearu, na te mea ehara nga punaha i te tino utu nui, te utu nui ranei, engari he pai ki te waatea, kua rite hoki matou ki te whakaaro
Ko te hua o te rangahau iti, i kitea nga whiringa e whai ake nei ka kitea e pai ana hei whakaaro:
- Hekenga Matua EF
- DBup
- Whare RaunaE
- ThinkingHome.Migrator
- Hekenga rere
Na inaianei he iti ake nga korero
Ko te tikanga, koinei te waahanga tuatahi me te kaupapa matua hei whiriwhiri. He taputapu taketake e mahi ana i waho o te pouaka kaore he pona ki te timipene. He nui nga tuhinga, whai mana me te kore pera, ngawari, aha atu. Heoi, ko nga amuamu mo te EF matarohia he mea tino tika mo te EF Core.
Na, ko nga painga mo te EF Core kua tohua:
- Tautoko Microsoft, tuhinga, tae atu ki te reo Ruhia, hapori nui
- Whakaputa-aunoa o nga heke i runga i te CodeFirst
- Ka whakatauritea ki te EF 6, kua kore a EF Core e pupuri i tetahi whakaahua o te papaa raraunga. I te wa e mahi tahi ana me EF Core i te Waehere Tuatahi, kua kore e tika kia horahia he putunga raraunga
- I te mea kei te kanikani matou mai i te Waehere Tuatahi, ka taea te whakahaere i tetahi hekenga ki nga kaiwhakarato uru raraunga e hiahiatia ana
- Mo nga kaiwhakarato, ka tautokohia a PostgreSQL, ka tautokohia a Oracle, aha atu, aha atu, tae atu ki te MS SQL Server
Me nga mea kino ano hoki:
- I noho tonu te whakatau papā ki te taumata kotahi. He mea tika ki te whakaraupapa i nga hekenga me te whakahou i nga whakaahua raraunga
- Te ti'aturi i runga i nga tauira i puta ai nga heke
DbUp
Ko DbUp he whare pukapuka .NET kua whakauruhia e NuGet me te awhina i nga huringa ki te SQL Server. Ka aroturukihia ko nga tuhinga whakarereke kua oti te whakahaere me te whakahaere i nga mea e tika ana hei whakahou i te papaunga raraunga. I tupu ake te whare pukapuka mai i te kaupapa mo te miihini tuhi korero tuwhera i runga i te ASP.NET me te noho i raro i te raihana MIT, kei te GitHub te waehere. Ka whakaahuahia nga hekenga ma te whakamahi i te T-SQL.
He aha nga painga:
- Tautoko mo te maha o DBMS (MS SQL Server, PstgreSQL, MySQL)
- I te mea kua tuhia nga tuhinga ki te T-SQL, he maamaa noa te ahua
- Ka whakatauhia nga raruraru ma te whakamahi i te SQL
Me nga kino:
- Me nga momo momo DBMS e tautokohia ana, ehara ko Oracle tetahi o era
- Karekau e mahi tahi me ORM
- Ko te tuhi tuhi T-SQL ma te ringaringa ehara i ta matou i whai ai
- Ko nga tuhinga me te hapori he pera-pera, ahakoa mo te tuhi i nga tuhinga SQL kaore pea e tika.
Whare RaunaE
Ko tenei taputapu whakahaere heke, ka tohatohahia i raro i te raihana Apache 2.0, penei i te mea o mua, ka rere i runga i te miihini heke T-SQL. Te ahua nei, ko nga kaiwhakawhanake i aro nui ki te whakaoti rapanga hangarau e pa ana ki te tautoko DBMS, kaua ki te hanga i tetahi tukanga whanaketanga whakamarie.
Kaupapa:
- Ka tautoko i te DBMS e tika ana (tae atu ki a Oracle)
Cons:
- Ko Oracle (me te Access, he mea kore mo tatou) kaore i te tautokohia i runga i te .NET Core, kei runga anake i te .NET Full Framework
- Kaore e mahi me te ORM
- He iti ake nga tuhinga i te taputapu o mua
- Ano - ka tuhia nga heke ma nga tuhinga
ThinkingHome.Migrator
He taputapu mo te hekenga aronuinga patengi raraunga putanga ki te turanga .NET Core, ka tohatohahia i raro i te raihana MIT.
Kaupapa:
- I hoahoatia mo te .NET Core
- I whakatinanahia he raupapa manga o nga heke
- Kua whakatinanahia te raakau hekenga
Cons:
- Whakahoutanga whakamutunga kotahi tau ki muri. Te ahua nei kaore i te tautokohia te kaupapa
- Kaore i te tautokohia e Oracle (e kii ana te tuhinga na te kore o te whakatinanatanga pumau mo .NET Core - engari he tau ki muri)
- Kaore he whakatipuranga aunoa o nga heke
I te katoa, he pai te ahua o te kaupapa, ina koa ka whanake, engari me whakatau maatau i konei, inaianei.
Hekenga rere
Ko te taputapu hekenga tino rongonui me te ope nui o nga kaiwhaiwhai. Ka tohatohahia i raro i te raihana Apache 2.0. I korerohia i roto i te whakaahuatanga, he anga hekenga mo .NET, he rite ki a Ruby on Rails Migrations. Ko nga huringa ki te aronuinga pātengi raraunga e whakaahuatia ana i roto i nga akomanga C#.
He painga kei konei:
- Tautoko mo te DBMS e hiahiatia ana
- Tautoko .NET Core
- Hapori whakawhanake nui
- Ko nga raruraru i waenga i nga hekenga ka whakatauhia a-raupapa-ka whakatauhia te raupapa o nga mahi o nga heke. I tua atu, ki te puta he pakanga ki te taha o tetahi hinonga, ina hanumi te waehere, ka whakatauhia kia rite ki era atu o te waehere
- He pūkete ka mahia i muri i te hekenga angitu. A ka taea e ratou te kawe i nga mahi ratonga Ko te whakahou whakamutunga i te marama ki muri, ara, kei te ora te kaupapa
Mo nga mea iti, koinei:
- Kaore he whakatipuranga aunoa o nga heke
- Kaore he hononga ki nga tauira EF
- Karekau he whakaahua raraunga
He aha ta matou i whiriwhiri ai?
Ko nga tautohetohe wera e huri ana ki nga tawhā e rua - te whakaputa aunoa o nga hekenga me te whakatau tika o nga pakanga. Ko etahi atu mea he iti rawa te mataku. Ko te mutunga mai, i runga i nga hua o te korerorero, i whakatau te roopu ki te whakamahi i te Fluent Migrator i roto i te kaupapa hou. Na te mea ko te whakatau i nga tautohetohe a meake nei ka nui ake nga painga.
kitenga
Ko te tikanga, kaore he taputapu tino pai. No reira me whakarite maatau i o maatau "hiahia" ki te whiriwhiri. Heoi, mo etahi atu kapa me etahi atu mahi, ko etahi atu take ka whakatau. Ko te tumanako ka awhina tenei tuhinga ki a koe ki te whiriwhiri.
Source: will.com