Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 107092|Отговор: 17

[Източник] ORM фреймуъркът Dapper е лесен за използване

[Копирай линк]
Публикувано в 29.12.2020 г. 11:58:20 ч. | | | |
Въпреки че мразя да пиша SQL оператори, понякога трябва да използвам Dapper за някои прости операции в базата данни, което е по-добре от просто капсулиране на dbhelper.

Dapper определя дали данните съществуват

Dapper изпълнява операцията за обновяване



Dapper поставя резултатите от заявката в DataTable

Вмъкване на Dapper

Например:

Dapper действия за заявка







Предишен:SQL Server оптимизирана за производителността индексна фрагментация
Следващ:SQL Server използва запетая за разделяне на низове
 Хазяин| Публикувано в 27.01.2021 г. 10:23:38 ч. |
Dapper реализира оптимистични заключвания

Добавете полето RowVersion към таблицата на базата данни, типът е времеви печат и принципът: При обновяване използвайте RowVersion като условие where, както е показано на фигурата по-долу:



Кодът е следният:





 Хазяин| Публикувано в 10.12.2021 г. 14:37:28 ч. |
Dapper динамично предава параметрите

Когато dapper изпълни командата за динамично предаване на параметри, започвам да предавам обекта като параметър през JSON низа и грешката е следната:

Изходната грешка: Изброима последователност от параметри (масиви, списъци и др.) не е позволена в този контекст.

Можете да предавате динамични параметри по следните начини:



 Хазяин| Публикувано в 4.12.2025 г. 16:55:34 ч. |
Необработено изключение. System.Data.ConstraintException: Не успя да активира ограниченията. Един или повече редове съдържат стойности, нарушаващи ограничения, които не са нулеви, уникални или външни ключове.
   в System.Data.DataTable.EnableConstraints()
   на System.Data.DataTable.set_EnforceConstraints(булева стойност)
   в System.Data.DataTable.EndLoadData()
   в System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
   в System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
   в System.Data.DataTable.Load(IDataReader четец, LoadOption loadOption, FillErrorEventHandler errorHandler)

решение
 Хазяин| Публикувано в 27.01.2021 г. 16:59:36 ч. |
Дапер селект брой(*)

Вземете общия брой парчета данни, кодът е следният:



 Хазяин| Публикувано в 28.01.2021 г. 13:10:05 ч. |
елегантна като неясна заявка



 Хазяин| Публикувано в 26.03.2021 г. 14:46:40 ч. |
Дапер в актуализация

 Хазяин| Публикувано в 14.07.2021 г. 15:09:24 ч. |
Използвайте Dapper за връщане на множество набори от резултати




Забележка: При четене на таблицата се извлича, тя трябва да е в реда на връщане на горната таблица. Например, горната заявка за потребители трябва да бъде върната първа, в противен случай няма връщане на данни
 Хазяин| Публикувано в 27.12.2021 г. 22:10:02 ч. |
Microsoft въвежда Microsoft.Data.SqlClient като алтернатива на System.Data.SqlClient
Публикувано в 28.12.2021 г. 14:26:29 ч. |
Да бъдеш използван, научи го
Публикувано в 17.01.2022 г. 17:33:51 ч. |
В предишната ми компания промених целия слой данни на компанията си на елегантен. Чувството е много приятно, защото почти всички мои колеги в компанията, които използваха ado.net, имаха написани SQL инструкции, и след това всичко беше много гладко.
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com