不能正确加入Linq

时间:2015-02-04 13:33:23

标签: c# linq join

我在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();

我非常确定某些行必须来自数据库。我在做语法错误吗?

2 个答案:

答案 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