C#实体框架-查询并联接多个表/实体

时间:2020-10-08 17:12:00

标签: c# mysql entity-framework rest entity-framework-core

假设我有以下表格(具有类似形式的模型,外加一些虚拟道具)

Tabel 1:“ AgentCompany”(仅将代理商ID链接到公司)
AgentCompanyId,AgentId,CompanyId

表2:“公司”
公司编号,国家编号

表3:“国家/地区”
国家/地区名称,名称

AgentCompany的模型具有“公司”的虚拟属性,“公司”的模型也具有虚拟的“国家”属性。

我的查询当前看起来像

var res = (from ap in Repo.AgentCompany
           join p in Repo.Company on ap.CompanyId equals p.CompanyId
           join c in Repo.Country on ap.Country.Name equals c.Name
           where ap.AgentId == AgentFilter
           select new AgentCompany
           {
               Company = p
           });

这可行,除了公司(p)的国家/地区为空之外,我获得了所有数据。 我试图弄清楚如何使这种语法起作用,以便既然我可以查询如上所示的c,所以我想要p.Country = c,因此在我的AgentCompany对象结果中,Company属性是实际的公司,并且公司的虚拟Country属性指向一个Country对象。

有人知道我将如何实现这一目标吗?我已经尝试了一些问题搜索,并尝试了一些与内部联接或“包含”方法有关的建议,但是我在这里无法实现我想要的。

谢谢!

0 个答案:

没有答案