ef 三表关联查询

xcg 2013-05-28 10:35:22
/// 会议名称
public class HY
{
public int HYID { get; set; }
public virtual List<HYDD> HYDD { get; set; }
}
/// 会议地点
public class HYDD
{
public int HYDDID { get; set; }

public int HYID { get; set; }

public int ZYID { get; set; }

public ZY ZY { get; set; }
}
///会议室资源
public class ZY
{
public int ZYID { get; set; }
public string Name { get; set; }
}

int ZYID=2;
List<int> ZYIDs = {2,5,8};

显示会议列表
var tab = from s in db.HYs.Include(h => h.HYDD.Select(c => c.ZY))
select s;
查一个ZYID时可以这样写:
tab = tab.Where(s => s.HYDD.Select(d => d.ZY.ZYID ).Contains(ZYID));

查ZYIDs时该怎么写?
tab = tab.Where(s =>ZYIDs.Contains(s.HYDD.Select(d => d.ZY.ZYID)))报错呀
...全文
412 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2013-05-28
  • 打赏
  • 举报
回复
Welcome. 结帖迅速,分赃合理.
xcg 2013-05-28
  • 打赏
  • 举报
回复
引用 1 楼 q107770540 的回复:
tab = tab.Where(s => s.HYDD.Select(d => d.ZY.ZYID).Any(x=>ZYIDs.Contains(x.ZYID)));
多谢
q107770540 2013-05-28
  • 打赏
  • 举报
回复
tab = tab.Where(s => s.HYDD.Select(d => d.ZY.ZYID).Any(x=>ZYIDs.Contains(x.ZYID)));

8,494

社区成员

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

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