c# - 如何在 linq to sql 中编写不等于运算符?

标签 c# linq linq-to-sql

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/

相关文章:

c# - 具有特定要求的拆分字符串

c# - 如何从 Web API JSON 响应派生 C# 动态对象?

c# - 使用 SQL 查询 Web 服务

LINQ 到 SQL。如何使用 .take() 选择所有记录

c# - LINQ 还是其他?

c# - 如何从C#中的日期计算一天的开始和结束

c# - 是否值得为单个类抽象出对象创建?

linq - 在具有类型转换的 Linq to Entities/Entity SQL 中选择 Max

.net - 允许用户对 DataGridView 中的 LINQ 查询中的列进行排序

c# - LINQ to SQL 查询在结果中有错误的值