我试图从数据库中的查询中创建一个简单的下拉列表。
我已经读了这么多,说实话我很困惑。这可能是我found
的最佳教程模型就是这样。
public class TodoMembership
{
public int Id { get; set; }
public string UserName { get; set; }
public string UserTodoName { get; set; }
public string Category { get; set; }
}
控制器很简单。
public ActionResult Index()
{
//connection already sorted
IEnumerable<SelectListItem> items = db.TodoMemberships.Select(c => new SelectListItem
{
Value = c.Id.ToString(),
Text = c.Category
});
ViewBag.Categories = items;
return View();
}
这是我的HTML。 @ Html.DropDownList(&#34; Id&#34;,(IEnumerable)ViewBag.Categories)
这是我得到的错误,
LINQ to Entities无法识别方法&#39; System.String ToString()&#39;方法,并且此方法无法转换为商店表达式。
答案 0 :(得分:2)
IEnumerable < SelectListItem > items = db.TodoMemberships.Select(c => new SelectListItem {
Value = SqlFunctions.StringConvert((double) c.Id),
Text = c.Category
});
答案 1 :(得分:0)
ViewBag.Categories = new SelectList(db.TodoMemberships, "Id", "Category");
这样,字符串转换将在应用程序中执行,而不是在SQL服务器上执行。