LINQ to Entities 无法识别方法'System.String ToString(Int32)'方法,并且此
本文关键字:方法 Int32 ToString String 识别 Entities to System LINQ | 更新日期: 2023-09-27 18:34:28
我在控制器中使用以下代码
BlueBusDB_Context db = new BlueBusDB_Context();
List<SelectListItem> li =new List<SelectListItem>();
li = db.M_BLUEBUS_STATES.Select(s => new SelectListItem {Text = s.STATE_NAME, Value = Convert.ToString(s.STATE_CODE)}).ToList();
ViewBag.State = li;
return View();
然后在我的创建视图中,我想绑定下拉列表,我正在使用波纹管
@Html.DropDownList("State",ViewBag.State as List<SelectListItem>)
我收到上述错误..
Linq to Entities 不支持Convert
(请参阅支持的函数(
我将首先创建一个匿名类型,然后转换为 SelectListItems 以更好地分离关注点:
li = db.M_BLUEBUS_STATES
.Select(s => new { s.STATE_NAME, s.STATE_CODE })
.AsEnumerable()
.Select(x => new SelectListItem { Text = x.STATE_NAME, Value = x.STATE_CODE.ToString()})
.ToList();
您需要使用常规ToString
方法而不是Convert
类中的方法:
li = db.M_BLUEBUS_STATES.Select(s => new SelectListItem {
Text = s.STATE_NAME,
Value = s.STATE_CODE.ToString()
}).ToList();