简单.数据-如何将WHERE子句应用于连接表



我试图使用简单。Data作为我的ADO,但是我遇到了一个问题,试图把一个查询连接几个表,然后根据非主表中的值过滤结果。

Scenario是一个工作申请应用程序(但工作就像在给定的一天要完成的特定任务)。有3个相关的表,jobs, applicationsapplication_history。对于jobs表中的每个记录可以有多个applications,对于每个applications可以有多个application_history记录。在application_history表中,有一个status列表示每个应用程序被发送、提供和最终接受。

所以我想要一个查询,返回所有接受的申请,在未来的工作;例如,jobs表中的date列是未来的,application_history表中有一条相关的记录,状态列是5(意思是接受)。

如果这是普通的旧SQL,我会使用这个查询:

<>之前从应用程序中选择A *作为A内部连接application_history作为AH ON AH。application_id = A.idINNER JOIN job作为jon jid = A.job_id在哪里啊。status_id = 3 AND J.date> date('now')之前

但是我想知道如何使用Simple.Data实现同样的事情。另外,如果你能忽略"工作必须在未来"这一步,这将有助于我理解发生了什么。

作为参考:简单。数据文档,特别是关于显式连接的部分。您应该能够执行如下操作:

//db is your Simple.Data Database object
db.application
  .Join(db.application_history)
  .On(db.application.id == db.application_history.application_id)
  .Join(db.job )
  .On(db.Applications.job_id == db.job.id)
  .Where(db.application_history.status_id == 3 && db.job.date > DateTime.Now());

我不确定是否简单。数据知道如何处理Date部分

相关内容

  • 没有找到相关文章

最新更新