使用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中文網其他相關文章!