【发布时间】:2014-12-23 02:53:42
【问题描述】:
我正在使用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();
问题是我不知道如何根据查询中的条件数量动态传递值。
【问题讨论】: