0
當我點擊List<HickeryDickeryDock> dockMatches = (List<HickeryDickeryDock>)prtQuery.ToList();
行時,彈出的錯誤是「無法創建類型爲'System.Object'的常量值,只有基本類型或枚舉類型在此上下文中受支持」 。我之前已經返回了一個通用列表對象,所以我可能會過度看待爲什麼會出現這個問題。無法創建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();
「p.PRT_PRO_ID」和「pro_id」的類型是什麼?你能減少代碼來刪除那些*不成問題的位嗎? (例如,你能刪除投影中的大部分屬性嗎?) –
編輯以避免水平滾動太多 - 並且注意你不需要轉換'prtQuery.ToList()'的結果。它已經是'List'。 –
pro_id和prt_pro_id是包含guid值的nvarchar(128)字段。我實際上刪除了很多選擇部分,但我會嘗試僅使用我提供的部分來查看它是否有效。 – user3241191