【发布时间】:2019-01-28 19:13:34
【问题描述】:
var ll = from a in db.EmployeeMasters
where a.EmployeeID != (from d in db.EmployeeMasters
join c in db.PerformanceDetails on d.EmployeeID equals c.EmployeeID
join z in db.ProjectMasters on c.ProjectID equals z.ProjectID
into ss
from z in ss.DefaultIfEmpty()
where z.ProjectName == name || z.ProjectName == name1
select d.EmployeeID)
select a.EmployeeName;
它返回如下错误消息
运算符“!=”不能应用于“int”和“System.Linq.IQueryable”类型的操作数
我想在 http post 方法中添加这个 Linq 查询以在 postman 中查看输出 任何人请帮我解决这个问题
实际问题是选择不属于 2 个项目(如(CRM、自动化))的员工
两个项目员工的一部分在另一个项目中,但一些员工不在任何项目中
这里显示了我的实体框架数据模型:
name 和 name1 是项目名称的参数
【问题讨论】:
-
.....select d.EmployeeID).First() -
对不起兄弟 (.....).First() 在 Postman 中显示错误。它说使用 (....).FirstOrDefault()。它工作得很好,兄弟。但是,输出显示错误的输出,例如所选项目中的某些员工姓名我想查看不属于所选 2 个项目的员工姓名 -
-
如果我的查询中有任何错误,请说我有一个 sql 查询来解决这个问题。但我无法将其转换为 Linq
-
select a.EmployeeName from EmployeeMaster a where a.employeeid not in (select bb.EmployeeID from EmployeeMaster bb left join PerformanceDetail nn on bb.EmployeeID = nn.EmployeeID left join ProjectMaster mm on nn.ProjectID= mm.ProjectID 其中 mm.ProjectName='Automation' 或 mm.ProjectName='CRM Customer')
标签: linq sql-server-2012 entity-framework-4