当我点击List<HickeryDickeryDock> dockMatches = (List<HickeryDickeryDock>)prtQuery.ToList();
行时,弹出错误“无法创建类型'System.Object'的常量值。在此上下文中仅支持基本类型或枚举类型”。我之前已经返回了一个通用的列表对象,所以我可能已经在考虑为什么会出现这个问题了。
var prtQuery = (from p in db.PRTs
join m in db.PROs on p.PRT_PRO_ID equals m.PRO_ID
where p.PRT_PRO_ID != pro_id
select new HickeryDickeryDock
{
Name = m.PRO_FirstName + ' ' + m.PRO_LastName,
DisplayName = m.PRO_DisplayName,
Gender = m.PRO_Gender,
Age = prm.PRM_AgeStart >= p.PRT_AgeStart && prm.PRM_AgeStart <= p.PRT_AgeEnd ? 2 : 0,
Huckelberry = SqlFunctions.CharIndex("Huckelberry", p.PRT_Finnery) > 0 ? 2 : SqlFunctions.CharIndex("Spontaneous", prm.PRM_FINNERY) == 0 ? 0 : 2
}).Take(100);
List<HickeryDickeryDock> dockMatches = (List<HickeryDickeryDock>)prtQuery.ToList();
答案 0 :(得分:0)
Name = m.PRO_FirstName + ' ' + m.PRO_LastName
。这是导致它失败的线。我删除+ ' ' + m.PRO_LastName
后,就可以了。