如何使 LINQ 中的 JOIN 到 SQL 等同于不等于

How to make a JOIN in LINQ to SQL equivalent to Not Equals

我有一个 table: 年份 |时期 |帐号

在一个新的时期,我想得到一个新账户列表和一个在上一时期也存在的账户列表。

也在前期的账户:

    bs.DataSource = from c in accountsToImport
             join p in accountsToImport on c.Account equals p.Account
             where c.Year == year && c.Period == period
             && p.Year == priorYear && p.Period == priorPeriod
             select c;
    return bs;

但是,我无法弄清楚如何使用 LINQ->SQL 获得“不等于 p.account”的等价物。有效的 SQL 命令:

select * from tsr_accountsToimport as cper
inner join tsr_accountstoimport as pper
on cper.account <> pper.account
where 
cper.year = 2015
and cper.period = 4
and pper.period = 3

如果您能帮助获得 LINQ 语法,我们将不胜感激。谢谢!

您可以尝试 SelectMany 而不是加入。

from c in accounts
from p in accounts
where c.Account != p.Account