[解決済み】Dapperでインサートとアップデートを実行する
2022-04-05 08:14:44
質問
Dapperの使用に興味があるのですが、私の知る限りでは、QueryとExecuteしかサポートしていないようです。 Dapperは、オブジェクトの挿入と更新の方法を含んでいないようです。
私たちのプロジェクト(ほとんどのプロジェクト?)では、挿入と更新を行う必要があることを考えると、ダッパーと一緒に挿入と更新を行うためのベストプラクティスは何でしょうか?
できれば、ADO.NETのパラメータ構築などの方法に頼らなくて済むようにしたいです。
現時点で思いつくベストアンサーは、挿入と更新にLinqToSQLを使用することです。 もっと良い答えがあるのでしょうか?
どのように解決するのですか?
私たちはいくつかのヘルパーを作ることを検討していますが、APIとこれがコアに入るかどうかについてはまだ決定していません。ご覧ください。 https://code.google.com/archive/p/dapper-dot-net/issues/6 をご覧ください。
その間、以下のことができます。
val = "my value";
cnn.Execute("insert into Table(val) values (@val)", new {val});
cnn.Execute("update Table set val = @val where Id = @id", new {val, id = 1});
etcetera
私のブログ記事もご覧ください。 あの悩ましいINSERT問題
更新
コメントで指摘されているように、現在、いくつかの拡張機能が
Dapper.Contrib
プロジェクトは、このような形で
IDbConnection
拡張メソッドです。
T Get<T>(id);
IEnumerable<T> GetAll<T>();
int Insert<T>(T obj);
int Insert<T>(Enumerable<T> list);
bool Update<T>(T obj);
bool Update<T>(Enumerable<T> list);
bool Delete<T>(T obj);
bool Delete<T>(Enumerable<T> list);
bool DeleteAll<T>();
関連
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】エラー「必要なフォーマルパラメータに対応する引数が与えられていない」を解決する?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] Microsoft Officeをインストールせずに、C#でExcel(.XLSおよび.XLSX)ファイルを作成するにはどうすればよいですか?
-
[解決済み] AddTransient、AddScoped、AddSingleton サービスの相違点
-
[解決済み】SELECT * FROM X WHERE id IN (...) with Dapper ORM
-
[解決済み】Dapperでストアドプロシージャを呼び出す方法はありますか?
-
[解決済み] Dapperでネストされたオブジェクトのリストをマッピングする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】Swashbuckle/Swagger + ASP.Net Core: "Failed to load API definition" (API定義の読み込みに失敗しました
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】HRESULTからの例外:0x800A03ECエラー
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】エラー「必要なフォーマルパラメータに対応する引数が与えられていない」を解決する?
-
[解決済み】プロセスが実行されているかどうかを知るには?