LINQ to Entities不识别方法Int32 get_Item(Int32)

我是一个关于entity framework和linq的新手。 我的查询是这样的

var query = (from d in db.MYTABLE where d.RELID.Equals(myInts[0]) select d.ID).Distinct(); List<int?> urunidleri = query.ToList(); 

当我执行这个代码,我得到了错误信息“LINQ to Entities does not recognized the method Int32 get_Item(Int32)”。 我如何解决我的问题?

谢谢…

您需要将您的int存储在一个variables中,以便EntityFramework不会试图将整个数组拖到其范围内。

 var myInt = myInts[0]; var query = (from d in db.MYTABLE where d.RELID.Equals(myInt) select d.ID).Distinct(); List<int?> urunidleri = query.ToList(); 
 var firstInt = myInts[0]; var query = (from d in db.MYTABLE where d.RELID.Equals(firstInt) select d.ID).Distinct(); List<int?> urunidleri = query.ToList(); 

Linq查询最终转换为SQL查询,而LINQ不知道如何处理Session["UserName"] (即“UserName”项)。

解决这个问题的一个常见方法就是使用一个局部variables,您将为其分配Session["UserName"]并将在您的Linq查询中使用…

喜欢

 string loggedUserName = Session["LogedUsername"].ToString(); var userdetail = dc.faculties.Where(a => a.F_UserName.Equals(loggedUserName)).FirstOrDefault(); 

参考http://mvc4asp.blogspot.in/