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 to Entities 仅支持转换 EDM 基元或枚举类型。

4

2 回答 2

9

不要Equals在此查询中使用。改为使用==。Equals(object obj) 在需要将此 obj 转换为具体类型的表达式中进行转换,但 LINQ to Entities 不支持这种转换。

于 2013-04-30T13:47:05.957 回答
-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();
}
于 2014-01-09T11:30:57.753 回答