这是我的LINQ(EF):LINQ不读书圆括号
var ls = from ps in ctx.Package_Services
where
(ps.Package.Policy.Name != "Short-Term Career Policy"
&& ps.Package.Name != "Early Talent Package")
&&
(ps.Package.Policy.Name != "Assignment Policy"
&& ps.Package.Name != "Efficient Package")
select new
{
Service = ps.Service,
PackageService = ps
};
这是它产生的相关的SQL:
WHERE (N'Early Talent Package' <> [Extent2].[Name])
AND (N'Efficient Package' <> [Extent2].[Name])
AND (N'Short-Term Career Policy' <> [Extent3].[Name])
AND (N'Assignment Policy' <> [Extent4].[Name])
我想要说的是,“我不我不想组合X,我也不想组合Y;但是,我确实需要“早期人才套餐”,他们没有与“短期就业政策”联系在一起。而且,我也想要“高效套餐”不与“分配政策”相关联。
如何将它转换成LINQ?
如果去掉括号中的逻辑仍然是相同的。尝试将括号外的'&&改为'||',我期望它能够保留它们。 – Jonesopolis
如果我将'&&'更改为'||',它包含了所有的东西,就好像我根本没有'where'一样。 – user1477388
即使是上面的最后一个示例,也可以删除所有这些括号,它会产生相同的结果。 –