在下面的方法中,我必须根据以下公式计算最终价格,但这给了我一个错误。如何使用以下查询进行后续操作?
DesiredCapabilities dc = new DesiredCapabilities();
dc.setCapability(PhantomJSDriverService.PHANTOMJS_PAGE_SETTINGS_PREFIX + "userAgent",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36");
new PhantomJSDriver(dc);
答案 0 :(得分:0)
尝试以下操作:
public JsonResult GetAllPanditBookList()
{
var plist= db.TB_PBooking.Select(hc => new
{
hc.PB_ID,
hc.PB_PRICE,
hc.PB_SPRICE,
hc.USER_ID,
hc.REG_DATE,
hc.STATUS,
FinalPrice = hc.PB_PRICE * hc.PB_SPRICE /100,
hc.PAYMENT_TYPE,
hc.TB_UserReg.FULL_NAME,
USERMOB = hc.TB_UserReg.MOBILE_NO
})
.OrderByDescending(x => x.PB_ID)
.ToList();
return Json(_templeList, JsonRequestBehavior.AllowGet);
}
更新:
如果您需要将价格从string
转换为int
,则应更改数据库中这些列的类型。
您应该可以通过以下方式将string
解析为int
(请注意,我没有测试此代码):
var plist= db.TB_PBooking.Select(hc => new
{
hc.PB_ID,
hc.PB_PRICE,
hc.PB_SPRICE,
hc.USER_ID,
hc.REG_DATE,
hc.STATUS,
hc.PB_PRICE,
hc.PB_SPRICE,
hc.PAYMENT_TYPE,
hc.TB_UserReg.FULL_NAME,
USERMOB=hc.TB_UserReg.MOBILE_NO
})
.OrderByDescending(x => x.PB_ID)
.AsEnumerable()
.Select(hc => new
{
hc.PB_ID,
hc.PB_PRICE,
hc.PB_SPRICE,
hc.USER_ID,
hc.REG_DATE,
hc.STATUS,
FinalPrice = (int.Parse(hc.PB_PRICE) * int.Parse(hc.PB_SPRICE)) /100,
hc.PAYMENT_TYPE,
hc.FULL_NAME,
hc.USERMOB
})
.ToList();
在.OrderByDescending(x => x.PB_ID)
之前调用AsEnumerable()
可使数据库对结果进行排序。
答案 1 :(得分:0)
首先,如@Thangadurai所述,请花点时间对您所提出的问题进行很好的解释。
建议为结果对象创建一个DTO并按如下所示返回DTO
public class PanditBookDTO
{
int PB_ID;
string hc.PB_PRICE;
string hc.PB_SPRICE;
int hc.USER_ID;
DateTime hc.REG_DATE;
int hc.STATUS;
int FinalPrice;
hc.PAYMENT_TYPE;
string FULL_NAME;
string USERMOB
}
并按如下所示使用此类:
public JsonResult GetAllPanditBookList()
{
var plist= db.TB_PBooking.Select(hc => new PanditBookDTO()
{
hc.PB_ID,
hc.PB_PRICE,
hc.PB_SPRICE,
hc.USER_ID,
hc.REG_DATE,
hc.STATUS,
FinalPrice = (Convert.ToInt32(hc.PB_PRICE) * Convert.ToInt32(hc.PB_SPRICE)) /100,
hc.PAYMENT_TYPE,
hc.TB_UserReg.FULL_NAME,
USERMOB = hc.TB_UserReg.MOBILE_NO
})
.OrderByDescending(x => x.PB_ID)
.ToList();
return Json(_templeList, JsonRequestBehavior.AllowGet);
}
即使将来更改查询,您的回复也将是安全的。