using (RapidWorkflowDataContext context = new RapidWorkflowDataContext())
{
var query = from w in context.WorkflowInstances
from c in context.Workflows
where EmpWorkflowIDs.Contains((int)w.ID) && w.CurrentStateID != c.LastStateID
select w;
return query.ToList();
}
我有 2 个表:Workflows 和 WorkflowInstances。
Workflows 存储对象,workflowInstances 存储实例。
工作流表:ID,Name,FirstStateID,LastStateID
WorkflowInstances 表:ID,Name,WorkflowID,CurrentStateID
如何在 linq to sql 中编写查询以从 WorkflowInstances 中选择 CurrentStateID 不等于 LastStateID 的实例
最佳答案
您需要将联接修改为在 2 个表之间的相关列上,然后在 where 子句中添加您的条件,如下所示:
using (RapidWorkflowDataContext context = new RapidWorkflowDataContext())
{
var query = from w in context.WorkflowInstances
join c in context.Workflows on w.WorkflowID equals c.ID
where EmpWorkflowIDs.Contains((int)w.ID)
&& w.CurrentStateID != c.LastStateID
select w;
return query.ToList();
}
关于c# - 如何在 linq to sql 中编写不等于运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18274141/