ホームページ > データベース > mysql チュートリアル > 動的に生成されたリストで Dapper ORM の IN 句を使用するにはどうすればよいですか?

動的に生成されたリストで Dapper ORM の IN 句を使用するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-04 21:25:41
オリジナル
995 人が閲覧しました

How to Use Dapper ORM's IN Clause with Dynamically Generated Lists?

IN 句と Dapper ORM を使用したクエリ

質問:

IN 句を使用して SQL クエリを効率的に構築する方法IN 句の値のリストがビジネスから動的に派生する場合に Dapper ORM を使用するロジック?

回答:

Dapper ORM は、このシナリオを直接サポートします。その方法は次のとおりです。

string sql = "SELECT * FROM SomeTable WHERE id IN @ids";
var results = conn.Query(sql, new { ids = new[] { 1, 2, 3, 4, 5 }});
ログイン後にコピー

この例では、ids パラメーターは整数の配列として定義されています。元のクエリ内の ID のカンマ区切りリストは、ビジネス ロジックに基づいて動的に構築され、ids パラメータの値として渡されます。

データベースとして Postgres を使用している場合、適切に実行するには若干の変更が必要です。 IN 句内の配列を処理します:

// Define a custom type to represent an array of integers
var postgresIntArray = new PostgresIntArray { Value = new[] { 1, 2, 3, 4, 5 } };

string sql = "SELECT * FROM SomeTable WHERE id IN @ids";
var results = conn.Query(sql, new { ids = postgresIntArray});
ログイン後にコピー

以上が動的に生成されたリストで Dapper ORM の IN 句を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート