这是一个简单的查询,总是抛出以下异常:
无法将“System.Decimal”类型的对象转换为“System.String”类型。
代码:
public ActionResult Search(SearchModel model)
{
var vendorList = db.Vendors.Where(v => v.IssueAmount == model.IssueAmount)
.ToList();
if (vendorList != null && vendorList.Count > 1)
return View("SearchResults", vendorList);
else if (vendorList != null && vendorList.Count == 1)
return View("Details", vendorList[0]);
else
return View();
}
IssueAmount
是一个可以为空的小数,如果我用我的任何字符串字段尝试这个,它会起作用。
编辑:谢谢大家的回复。怀疑这是一个愚蠢的错误:结果证明我的一个模型上的验证是引发异常的东西。我认为这是有效的:
[DisplayName("Issue Amount")]
[StringLength(13)]
[DataType(DataType.Currency)]
public decimal? IssueAmount { get; set; }
如果我删除 StringLength 验证器,它会很好地单击。