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原语或枚举类型。
答案 0 :(得分:9)
请勿在此查询中使用Equals
。请改用==
。 Equals(object obj)在表达式中转换需要将此obj强制转换为具体类型,但LINQ to Entities不支持此类转换。
答案 1 :(得分:-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();
}