1
我在下面的LINQ到實體查詢得到一個「DbComparisonExpression需要具有可比類型的參數」的錯誤沒有明顯的原因!我如何解決它?
DbComparisonExpression requires arguments with comparable type
錯誤:
jobDetails.pdata = db.JobBoardUsers.Where(c => c.id.Equals(jbid)).Select(c => new JobBoardUserProfileModel() { ID = c.id, userid = c.userid, firstname = c.firstname, lastname = c.lastname, PostalCode = c.passcode, phone = c.phone, JobDescription = c.desiredjobtitle, resumetext = c.resumetext, savedresume = c.savedresume }).ToList();
隨着ID的例外(智力),其他所有欄目都是VARCHAR。在EF(模型瀏覽器)中,ID列顯示爲Int32,其餘爲String。此外,該表具有主鍵。
這裏是JobBoardUserProfileModel模式:
public class JobBoardUserProfileModel
{
public int ID { get; set; }
public string userid { get; set; }
public string firstname { get; set; }
public string lastname { get; set; }
public string PostalCode { get; set; }
public string phone { get; set; }
public string JobDescription { get; set; }
public string savedresume { get; set; }
public string resumetext { get; set; }
}
好像一切都完美地對齊。爲什麼我得到這個錯誤?
'jbid'的類型是什麼?爲什麼不使用'c.id == jbid'? – Habib
謝謝哈比,你發現我的問題。我甚至沒有考慮過jbid作爲可能的問題,但肯定它是一個字符串,應該是對「userid」進行評估,而不是「id」! – Ryan