2013-04-30 81 views
1
public ViewResult Medicament(string searchTerm) 
    { 


     if (!String.IsNullOrEmpty(searchTerm)) 
     { 
      var Medicament = from s in db.MEDICAMENTs 
         from j in db.FOURNISSEURs 
         where s.ID_Fournisseur.Equals(j.CODE_FOUR) && 
           j.NOM_FOUR.Equals(searchTerm) 
         select s; 



      return View(Medicament.ToList().Any()); 
     } 
       return View(); 
    } 

我得到這個消息:無法將類型'System.Int32'轉換爲鍵入'System.Object'。 LINQ到實體只支持鑄造EDM原始或枚舉類型

無法投類型「System.Int32」輸入「System.Object的」。 LINQ to Entities僅支持投射EDM基元或枚舉類型。

回答

9

不要在此查詢使用Equals。改爲使用==。 Equals(object obj)在需要將此obj轉換爲具體類型的表達式中進行轉換,但LINQ to Entities不支持此類轉換。

-1

這是一個很長一段時間我不寫實體的查詢,因爲我的實際工作的公司使用NHibernate的。不過,我記得做一些這樣的疑問:

public ViewResult Medicament(string searchTerm) 
{ 
    if (!String.IsNullOrEmpty(searchTerm)) 
    { 
     var Medicament = from s in db.MEDICAMENTs 
        from j in db.FOURNISSEURs 
        where s.ID_Fournisseur equals j.CODE_FOUR && 
          j.NOM_FOUR equals searchTerm 
        select s; 

     return View(Medicament.ToList().Any()); 
    } 

    return View(); 
} 
相關問題