我正在使用Dapper.NET
. 用户可以通过发票编号和购买日期进行搜索。
如果用户在文本框中填写发票编号,则按发票编号搜索,
如果用户填写发票编号和购买日期,则按发票编号和购买日期搜索,
如果用户填写购买日期,则按购买日期搜索
所以,查询:
string query = "SELECT PurchaseDate, InvoiceNo, Supplier, Total FROM PurchaseOrder WHERE 1 = 1";
if (!string.IsNullOrEmpty(purchaseOrder.InvoiceNo))
{
query += " AND InvoiceNo = @InvoiceNo";
}
if (purchaseOrder.PurchaseDate != DateTime.MinValue)
{
query += " AND PurchaseDate = @PurchaseDate";
}
return this._db.Query<PurchaseOrder>(sql, ?).ToList();
问题是我不知道如何根据查询中的条件数量动态传递值。