3
我想寫一個帶動態參數列表的查詢(取決於參數是否設置)。 我想使用dapper在oracle數據庫上執行查詢。用小巧的動態參數化查詢
示例代碼:
var sqlParams = new List<object>();
var sqlBuilder = new StringBuilder();
sqlBuilder.Append("SELECT * FROM EXAMPLE WHERE 1 = 1 ");
if (!string.IsNullOrEmpty(aParam))
{
sqlBuilder.Append(" AND A LIKE ?");
}
if (!string.IsNullOrEmpty(bParam))
{
sqlBuilder.Append(" AND B LIKE ? ");
}
var sql = sqlBuilder.ToString();
return this.Connection.Query<Equipment>(
sql,
new { aParam, bParam } // ??
).ToList();
如何在第二個片段中動態添加aParam,bParam?是否可以用'ExpandoObject'替換'new {aParam,bParam}'?我不想對'aParam,bParam'進行硬編碼。我想通過循環添加它們。好像查詢()不支持ExpandoObject作爲它的第二個參數。 –
kkuilla
@kkuilla你可以使用'DynamicParameters',或者坦率地說你可以只傳遞兩個參數(dapper將忽略任何*明顯*不被使用) –
Yes,'DynamicParameters'工作出色。謝謝.... – kkuilla