假设我有以下表格(具有类似形式的模型,外加一些虚拟道具)
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对象。
有人知道我将如何实现这一目标吗?我已经尝试了一些问题搜索,并尝试了一些与内部联接或“包含”方法有关的建议,但是我在这里无法实现我想要的。
谢谢!