我是关于实体框架和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无法识别方法Int32 get_Item(Int32)”。我怎样才能解决我的问题?
谢谢...
答案 0 :(得分:130)
您需要将int
存储在变量中,以便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();
答案 1 :(得分:7)
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();
答案 2 :(得分:-1)
Linq查询最终转换为SQL查询,LINQ不知道如何处理Session["UserName"]
(获取&#34; UserName&#34;项目)。
解决此问题的一种常用方法就是使用您指定Session["UserName"]
的本地变量以及您在Linq查询中使用的局部变量...
像
string loggedUserName = Session["LogedUsername"].ToString();
var userdetail = dc.faculties.Where(a => a.F_UserName.Equals(loggedUserName)).FirstOrDefault();