SQL 到 LINQ 内部连接

本文关键字:连接 内部 LINQ SQL | 更新日期: 2023-09-27 18:34:52

有人可以帮助我在实体框架linq中形成以下SQL查询吗?

帐户应用程序表有两个 FK:

帐户

应用程序[帐户 ID]->帐户[帐户 ID]

帐户应用程序 [应用程序 ID] ->应用程序 [应用程序 ID]

select * from Invoice a inner join AccountApplication b on b.AccountId = 3 and b.ApplicationId = a.ApplicationId

我在 EF 中没有可用的帐户应用程序实体表。

我想要的是属于给定帐户ID有权的应用程序的发票列表。帐户 id 的应用程序 ID 之间的关系在帐户应用程序表中。

具有导航属性的 EF 类的屏幕截图

SQL 到 LINQ 内部连接

使用导航属性非常简单

var query = db.Invoices.Where(invoice => invoice.Application.Account
    .Any(account => account.AccountId == 3));

我希望您现在明白为什么它们被称为导航属性。在查询中,使用它们来"导航"(访问(所需的数据,EF 将它们用作生成必要联接的元数据。

var records= (from a in context.Invoices join b in context.AccountApplication
              on a.accountId equals b.accountId
              where b.accountId==3
              select new {a.Id,b.Id,....etc});