を使った発注書検索機能を開発して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();
問題は、クエリの条件の数に基づいて値を動的に渡す方法がわからないことです。