LINQ 的 join 的表达式有先后顺序的要求

      IEnumerable<DingErItemObj> deios = from sdrfb in this.SDRFBS
                                               join nodeid 
in nodeids on  sdrfb.DFID  equals nodeid
                                               join deitem 
in this.DingErObj.Items on sdrfb.DBID equals deitem.ItemID
                                               select deitem;

下面语句编译都通不过

            IEnumerable<DingErItemObj> deios = from sdrfb in this.SDRFBS
                                               join nodeid 
in nodeids on  nodeid equals sdrfb.DFID
                                               join deitem 
in this.DingErObj.Items on sdrfb.DBID equals deitem.ItemID
                                               select deitem;

也就是距离from越近,表达式也就尽量放在前

原文地址:https://www.cnblogs.com/rock_chen/p/933340.html