首頁 >資料庫 >mysql教程 >如何有效地將 Dapper 的 IN 子句與 IEnumerable 值結合使用?

如何有效地將 Dapper 的 IN 子句與 IEnumerable 值結合使用?

Barbara Streisand
Barbara Streisand原創
2025-01-04 06:20:40477瀏覽

How Can I Efficiently Use Dapper's IN Clause with IEnumerable Values?

使用Dapper ORM 和IEnumerable 值透過IN 子句查詢資料庫

使用IN 子句查詢資料庫是一種常見操作,當使用Dapper ORM,當IN 子句的值來自業務時,有一個有效的方法來編寫這些查詢邏輯。

Dapper 允許您直接將 IEnumerable 值作為參數傳遞,而不是手動將值連接成逗號分隔的字串。例如,給定查詢:

SELECT * 
  FROM SomeTable 
 WHERE id IN (commaSeparatedListOfIDs)

其中commaSeparatedListOfIDs 是整數的IEnumerable,您可以使用Dapper 構造查詢,如下所示:

string sql = "SELECT * FROM SomeTable WHERE id IN @ids";
var results = conn.Query(sql, new { ids = new[] { 1, 2, 3, 4, 5 }});

Dapper 將自動產生適當的SQL來自IN 子句並綁定ids 參數的值。請注意,如果您使用 PostgreSQL,則需要稍微不同的方法。詳情請參閱提供的答案。

以上是如何有效地將 Dapper 的 IN 子句與 IEnumerable 值結合使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn