Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 107092|Răspunde: 17

[Sursă] Framework-ul ORM Dapper este simplu de utilizat

[Copiază linkul]
Postat pe 29.12.2020 11:58:20 | | | |
Deși urăsc să scriu instrucțiuni SQL, uneori trebuie să folosesc Dapper pentru a face niște operații simple pe baza de date, ceea ce e mai bine decât să încapsulez pur și simplu dbhelper.

Dapper determină dacă datele există

Dapper efectuează operația de actualizare



Dapper introduce rezultatele interogării în DataTable

Acțiune de inserție dapper

De exemplu:

Acțiuni de interogare dapper







Precedent:Fragmentarea indexului optimizată pentru performanță SQL Server
Următor:SQL Server folosește șiruri care separă virgula
 Proprietarul| Postat pe 27.01.2021 10:23:38 |
Dapper implementează încuietori optimiste

Adaugă câmpul RowVersion în tabelul bazei de date, tipul este timestamp, iar principiul: La actualizare, folosește RowVersion ca condiție where, așa cum se arată în figura de mai jos:



Codul este următorul:





 Proprietarul| Postat pe 10.12.2021 14:37:28 |
DAPPER transmite dinamic parametrii

Când dapper execută comanda de a transmite dinamic parametrii, încep să trec obiectul ca parametru prin șirul JSON, iar eroarea este următoarea:

Eroarea de ieșire: O secvență enumerabilă de parametri (tablouri, liste etc.) nu este permisă în acest context.

Poți transmite parametrii dinamici în următoarele moduri:



 Proprietarul| Postat pe 04.12.2025 16:55:34 |
Excepție nerezolvată. System.Data.ConstraintException: Nu s-a activat constrângerile. Unul sau mai multe rânduri conțin valori care încalcă constrângerile non-nulle, unice sau cu cheie străină.
   la System.Data.DataTable.EnableConstraints()
   la System.Data.DataTable.set_EnforceConstraints(valoare booleană)
   la System.Data.DataTable.EndLoadData()
   la System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
   la System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
   la System.Data.DataTable.Load(IDataReader cititor, LoadOption loadOption, FillErrorEventHandler HandlerErrorHandler)

soluție
 Proprietarul| Postat pe 27.01.2021 16:59:36 |
dapper select count(*)

Obține numărul total de fragmente de date, codul este următorul:



 Proprietarul| Postat pe 28.01.2021 13:10:05 |
 Proprietarul| Postat pe 26.03.2021 14:46:40 |
Dapper în actualizare

 Proprietarul| Postat pe 14.07.2021 15:09:24 |
Folosește Dapper pentru a returna mai multe seturi de rezultate




Notă: Când se citește tabelul, trebuie să fie în ordinea în care se returnează tabelul de mai sus. De exemplu, tabelul Users interogat mai sus trebuie returnat primul, altfel nu se returnează date
 Proprietarul| Postat pe 27.12.2021 22:10:02 |
Microsoft introduce Microsoft.Data.SqlClient ca alternativă la System.Data.SqlClient
Postat pe 28.12.2021 14:26:29 |
Să fii folosit, învață-l
Postat pe 17.01.2022 17:33:51 |
La ultima mea companie, am schimbat tot stratul de date al companiei pe dapper. Se simte foarte bine, pentru că aproape toți colegii mei din companie care foloseau ado.net au tastat instrucțiuni SQL, iar după aceea a fost foarte fluid.
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com