不能使用 .Union all 和 Linq

Can't use .Union all with Linq

我有问题,你能帮我吗

var query = (from MONHOC in db.tbl_MONHOCs
                where
                    (MONHOC.IS_DELETE != 1 ||
                     MONHOC.IS_DELETE == null) &&
                    MONHOC.ISBATBUOC == 1
                select new
                {
                    ID = ("MH_CHA_" + Convert.ToString(MONHOC.ID_MONHOC)),
                    ID_NAME = MONHOC.ID_MONHOC,
                    MA_MONHOC = MONHOC.MA_MONHOC,
                    NAME = MONHOC.TEN_MONHOC,
                    ID_PARENT = 0
                }).Concat
                (from MONHOC in db.tbl_MONHOCs
                    where
                        (MONHOC.IS_DELETE != 1 ||
                         MONHOC.IS_DELETE == null) &&
                        MONHOC.ISBATBUOC == 0
                    select new
                    {
                        ID = ("MH_CON_" + Convert.ToString(MONHOC.ID_MONHOC)),
                        ID_NAME = MONHOC.ID_MONHOC,
                        MA_MONHOC = MONHOC.MA_MONHOC,
                        NAME = MONHOC.TEN_MONHOC,
                        ID_PARENT = (int?) MONHOC.ID_MONHOC_CHA
                    }
                );

错误

Error Compiling Expression: Error Compiling Expression: 'System.Linq.IQueryable' does not contain a definition for 'Concat' and the best extension method overload 'System.Linq.ParallelEnumerable.Concat(System.Linq.ParallelQuery, System.Collections.Generic.IEnumerable)' has some invalid arguments Instance argument: cannot convert from 'System.Linq.IQueryable' to 'System.Linq.ParallelQuery'

异常消息 "clearly" :) 告诉您匿名类型中的属性类型不匹配。

在第一部分你有:

ID_PARENT = 0

第二部分:

ID_PARENT = (int?) MONHOC.ID_MONHOC_CHA

这些属性应该都是 int?int