这句SQL被我改成LINQ,报了这个错。帮我分析下 谢谢

u014440193 2014-03-29 11:48:30
这是原来的SQL语句:

SELECT DISTINCT * FROM DEP WHERE dep_code in (SELECT DISTINCT dep_up FROM DEP WHERE dep_code in ( SELECT DISTINCT dep_up FROM DEP WHERE dep_code in (SELECT dep_code FROM PERSON_LIMITS WHERE UPPER(account)='" + UserAccount + "'))) order by dep_code

我改成LINQ方式:
var result = from d in ((Entities)this.DataContext).DEP
let p = ((Entities)this.DataContext).PERSON_LIMITS.Where(x => x.ACCOUNT.ToUpper() == useraccount).Select(n => n.DEP_CODE)
where p.Contains(d.DEP_CODE)
orderby d.DEP_CODE.Distinct()
select d;

然后报了这个错



LINQ哪错了?求帮忙分析下
...全文
189 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
devmiao 2014-03-30
  • 打赏
  • 举报
回复
PERSON_LIMITS是什么类型的?你可以试试看 ((Entities)this.DataContext).DEP.AsEnumerable()
ByVar 2014-03-30
  • 打赏
  • 举报
回复
引用 1 楼 devmiao 的回复:
PERSON_LIMITS是什么类型的?你可以试试看 ((Entities)this.DataContext).DEP.AsEnumerable()
PERSON_LIMITS 是DBSET类型

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧