我正在尝试从 ASP.NET MVC3 页面中的实体框架填充 ComboBox 的数据。在模型中,我添加了 DataRepository.cs :
public List<SelectListItem> GetBookPrices()
{
var BookPrice = (from bookPrice in ddlEntity.tblBook
select new SelectListItem
{
Text = Convert.ToString(bookPrice .Price),
Value = Convert.ToString(bookPrice.Price)
}).Distinct();
return BookPrice .ToList();
}
和 DDLProperty.cs:
public decimal PriceId { get; set; }
public List<SelectListItem> PriceValue { get; set; }
在我的数据库中,我有一个价格列作为小数。我可以正确地为具有 varchar 数据类型的 DropDownList 进行绑定,而不会出现任何错误,但我无法弄清楚如何修复上述代码以使其成为小数。
这是我的控制器:
DataRepository objRepository = new DataRepository();
public ActionResult Price()
{
DDLProperties objDDL = new DDLProperties();
objDDL.PriceValue = objRepository.GetBookPrices();
return View(objDDL);
}
这是错误:
LINQ to Entities does not recognize the method 'System.String ToString(System.Decimal)' method, and this method cannot be translated into a store expression.
它指向以下行: return BookPrice .ToList();
我开始学习 MVC,所以非常感谢任何帮助。谢谢。