我在Linq很新。我想在我的项目中做Linq JOIN,但我不能正确地做。没有数据来自Linq声明。
请你在下面给我一个提示吗?
companyVM[0].brand_relations = (from cbr in db.AY_COMPANY_BRAND_RELATIONS
join c in db.AY_COMPANIES on cbr.COMPANY_ID equals c.ID
join b in db.AY_BRANDS on cbr.BRAND_ID equals b.ID
where cbr.COMPANY_ID == ID
select b).ToList();
我非常确定某些行必须来自数据库。我在做语法错误吗?
答案 0 :(得分:2)
您的第一次加入根本不使用c
。这样:
join c in db.AY_COMPANIES on cbr.COMPANY_ID equals ID
几乎可以肯定是
join c in db.AY_COMPANIES on cbr.COMPANY_ID equals c.ID
(或任何ID应映射到db.AY_COMPANIES
内)。
至少令人惊讶您也不会在查询中的任何其他位置使用c
。
答案 1 :(得分:1)
from cbr in db.AY_COMPANY_BRAND_RELATIONS
join c in db.AY_COMPANIES on cbr.COMPANY_ID equals ID
看起来很可疑,可能就像这样
from cbr in db.AY_COMPANY_BRAND_RELATIONS
join c in db.AY_COMPANIES on cbr.COMPANY_ID equals c.COMPANY_ID