无法正确加入 Linq

cannot do join in Linq properly

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

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

您的第一次加入根本没有使用 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

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