この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 107092|答える: 17

[出典] ORMフレームワークのDapperは使いやすいです

[リンクをコピー]
掲載地 2020/12/29 11:58:20 | | | |
SQL文を書くのは嫌いですが、時々Dapperを使ってデータベースの簡単な操作をしなければならず、dbhelperをカプセル化するよりはずっと良いです。

ダッパーはデータが存在するかどうかを判断します

Dapperが更新操作を実行します



Dapperはクエリ結果をDataTableに入力します

ダッパーインサートアクション

例えば:

ダッパークエリアクション







先の:SQL Serverパフォーマンス最適化インデックス断片化
次に:SQL Serverは文字列を区切るカンマを使用します
 地主| 掲載地 2021/01/27 10:23:38 |
ダッパーが楽観的なロックを実装

データベーステーブルにRowVersionフィールドを追加し、型はタイムスタンプ、原則は以下の通りです:更新時には、下図のようにRowVersionをwhere条件として使用してください:



コードは以下の通りです:





 地主| 掲載地 2021/12/10 14:37:28 |
ダッパーは動的にパラメータを渡します

dapperが動的にパラメータを渡すコマンドを実行すると、オブジェクトをパラメータとしてJSON文字列に渡し始めると、エラーは以下の通りです:

出力エラー:この文脈では列挙可能なパラメータ(配列、リストなど)は許可されません。

動的パラメータは以下の方法で渡すことができます:



 地主| 掲載地 2025/12/04 16:55:34 |
未処理例外。 System.Data.ConstraintException: 制約を有効にすることに失敗しました。 1行以上は、非ヌル、一意、または異鍵制約に違反する値を含む。
   at System.Data.DataTable.EnableConstraints()
   System.Data.DataTable.set_EnforceConstraints(ブール値)で
   at System.Data.DataTable.EndLoadData()
   at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReader Container dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, オブジェクト parentChapterValue)
   at System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
   at System.Data.DataTable.Load(IDataReader reader, LoadOption loadOption, FillErrorEventHandler errorHandler)

解決
 地主| 掲載地 2021/01/27 16:59:36 |
ダッパーセレクトカウント(*)

データピースの総数を取得します。コードは以下の通りです:



 地主| 掲載地 2021/01/28 13:10:05 |
ファジー・クレイジー・クエリーのように洒落た



 地主| 掲載地 2021/03/26 14:46:40 |
ダッパー・イン・アップデート

 地主| 掲載地 2021/07/14 15:09:24 |
Dapperを使って複数の結果セットを返す




注意:テーブルを読み取る際は、上記のテーブルを返す順序でなければなりません。例えば、上記でクエリされたUsersテーブルを先に返す必要があり、そうでなければデータが返されません
 地主| 掲載地 2021/12/27 22:10:02 |
MicrosoftはSystem.Data.SqlClientの代替としてMicrosoft.Data.SqlClientを導入しました
掲載地 2021/12/28 14:26:29 |
利用されることを学べ
掲載地 2022/01/17 17:33:51 |
前の会社では、会社のデータレイヤーをすべてダッパーに変更しました。 とても気持ちが良いです。なぜなら、ado.net 会社のほとんどの同僚が以前使っていたSQL文を使っていて、それ以降はとてもスムーズに進んでいたからです。
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com