Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 107092|Vastaus: 17

[Lähde] ORM-kehys Dapper on helppokäyttöinen

[Kopioi linkki]
Julkaistu 29.12.2020 11.58.20 | | | |
Vaikka vihaan SQL-lauseiden kirjoittamista, joskus minun täytyy käyttää Dapperia tehdäkseni joitakin yksinkertaisia operaatioita tietokannassa, mikä on parempi kuin pelkkä dbhelperin kapselointi.

Dapper määrittää, onko data olemassa

Dapper suorittaa päivitystoiminnon



Dapper syöttää kyselytulokset DataTable-taulukkoon

Tyylikäs insert-toiminto

Esimerkiksi:

Tyylikkäät kyselytoiminnot







Edellinen:SQL Serverin suorituskykyyn optimoitu indeksifragmentaatio
Seuraava:SQL Server käyttää pilkkuja, jotka erottavat merkkijonoja
 Vuokraisäntä| Julkaistu 27.1.2021 10.23.38 |
DAPPER toteuttaa optimistisia lukkoja

Lisää RowVersion-kenttä tietokantataulukkoon, tyyppi on timestamp ja periaate: Päivitettäessä käytä RowVersionia missä -ehtona, kuten alla olevassa kuvassa on esitetty:



Koodi on seuraava:





 Vuokraisäntä| Julkaistu 10.12.2021 14.37.28 |
DAPPER välittää parametreja dynaamisesti

Kun Dapper suorittaa komennon, jolla parametrit vältetään dynaamisesti, alan välittää objektia parametrina JSON-merkkijonon kautta, ja virhe on seuraava:

Tulostusvirhe: Lueteltava parametrisarja (taulukot, listat jne.) ei ole sallittu tässä yhteydessä.

Voit välittää dynaamisia parametreja seuraavilla tavoilla:



 Vuokraisäntä| Julkaistu 4.12.2025 16.55.34 |
Käsittelemätön poikkeus. System.Data.ConstraintException: Rajoitusten käyttöönotto epäonnistui. Yksi tai useampi rivi sisältää arvoja, jotka rikkovat ei-nolla-, uniikki- tai vierasavaimen rajoitteita.
   osoitteessa System.Data.DataTable.EnableConstraints()
   System.Data.DataTable.set_EnforceConstraints (Boolen arvo)
   osoitteessa System.Data.DataTable.EndLoadData()
   osoitteessa System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, string srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
   osoitteessa System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
   at System.Data.DataTable.Load (IDataReader reader, LoadOption loadOption, FillErrorEventHandler errorHandler)

ratkaisu
 Vuokraisäntä| Julkaistu 27.1.2021 16.59.36 |
Dapper Select Count(*)

Saat datapalasten kokonaismäärän, koodi on seuraava:



 Vuokraisäntä| Julkaistu 28.1.2021 13.10.05 |
tyylikäs kuin sumea kysely



 Vuokraisäntä| Julkaistu 26.3.2021 14.46.40 |
Dapper päivityksessä

 Vuokraisäntä| Julkaistu 14.7.2021 15.09.24 |
Käytä Dapperia palauttamaan useita tulosjoukkoja




Huomautus: Kun taulukko haetaan, sen on oltava palautusjärjestyksessä yllä olevan taulukon palautusjärjestyksessä. Esimerkiksi yllä mainittu Käyttäjä-taulu on palautettava ensin, muuten dataa ei palauteta
 Vuokraisäntä| Julkaistu 27.12.2021 22.10.02 |
Microsoft esittelee Microsoft.Data.SqlClientin vaihtoehtona System.Data.SqlClientille
Julkaistu 28.12.2021 14.26.29 |
Kun sinua käytetään, opi se.
Julkaistu 17.1.2022 17.33.51 |
Edellisessä yrityksessäni muutin koko yritykseni datakerroksen tyylikkääksi. Se tuntuu todella hyvältä, koska lähes kaikki kollegani yrityksessä, jotka aiemmin käyttivät ado.net, ovat kirjoittaneet SQL-lauseita, ja sen jälkeen kaikki sujui erittäin sujuvasti.
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com