无法创建System.Object的常量值

时间:2014-02-27 23:55:27

标签: c# linq-to-sql

当我点击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();

1 个答案:

答案 0 :(得分:0)

Name = m.PRO_FirstName + ' ' + m.PRO_LastName。这是导致它失败的线。我删除+ ' ' + m.PRO_LastName后,就可以了。