【发布时间】:2021-11-22 14:31:47
【问题描述】:
我正在编写 .Net Core WebAPI,在这里我正在编写两种 HttpGet 方法,一种是获取所有记录而与参数无关,另一种是使用参数(大约 25 个参数),但我收到 AmbigousMatchException 错误。
我该如何解决这个问题?
下面是代码。
[Route("api/[controller]")]
[ApiController]
public class SummaryReportController : Controller
{
DataProvider dp = new DataProvider();
private readonly IConfiguration _configuration;
public SummaryReportController(IConfiguration configuration)
{
_configuration = configuration;
}
[HttpGet]
public JsonResult GetSummaryReport()
{
dp.ConnectionString = _configuration.GetConnectionString("conAccounting_SQLWeb");
DataSet ds = new DataSet();
ds = dp.GetDataSetSProc("uspFreight_SearchFreight");
DataTable dt = ds.Tables[0];
return new JsonResult(dt);
}
[HttpGet]
public JsonResult GetSummaryReportWithParams(SummaryReport sm)
{
dp.ConnectionString = _configuration.GetConnectionString("conAccounting_SQLWeb");
DataSet ds = new DataSet();
SqlParameter[] paramChk = new SqlParameter[21];
paramChk[0] = new SqlParameter("@VendIDName", sm.VendID);
paramChk[1] = new SqlParameter("@BOLNumber", sm.BOLNumber);
paramChk[2] = new SqlParameter("@BOLWeightFrom", sm.BOLWeightFrom);
paramChk[3] = new SqlParameter("@BOLWeightTo", sm.BOLWeightTo);
paramChk[4] = new SqlParameter("@InvoiceAmtFrom", sm.InvoiceAmountFrom);
paramChk[5] = new SqlParameter("@InvoiceAmtTo", sm.InvoiceAmountTo);
paramChk[6] = new SqlParameter("@DistanceFrom", sm.DistanceFrom);
paramChk[7] = new SqlParameter("@DistanceTo", sm.DistanceTo);
paramChk[8] = new SqlParameter("@InvoiceDateFrom", sm.InvoiceDateFrom);
paramChk[9] = new SqlParameter("@InvoiceDateTo", sm.InvoiceDateTo);
paramChk[10] = new SqlParameter("@ShipmentDateFrom", sm.ShipmentDateFrom);
paramChk[11] = new SqlParameter("@ShipmentDateTo", sm.ShipmentDateTo);
paramChk[12] = new SqlParameter("@ShipperZip", sm.ShipperZip);
paramChk[13] = new SqlParameter("@ConsigneeCityState", sm.ConsigneeCityState);
paramChk[14] = new SqlParameter("@ConsigneeZip", sm.ConsigneeZip);
paramChk[15] = new SqlParameter("@ConsigneeCode", sm.ConsigneeCode);
paramChk[16] = new SqlParameter("@ConsigneeName", sm.ConsigneeName);
paramChk[17] = new SqlParameter("@WhseID", sm.WhseID);
paramChk[18] = new SqlParameter("@LTLFTL", sm.LTLFTL);
paramChk[19] = new SqlParameter("@TRSO", sm.TRSO);
paramChk[20] = new SqlParameter("@FTL", sm.FTL);
ds = dp.GetDataSetSProcWithProc("uspFreight_SearchFreight", paramChk);
DataTable dt = ds.Tables[0];
return new JsonResult(dt);
}
}
【问题讨论】:
标签: c# angular asp.net-core asp.net-web-api webapi