使用Union的匿名类型错误

Ila*_*ria 3 c# linq

我想使用Union,我的变量类型是十进制.我收到以下异常:

实例参数:无法从' System.Linq.IQueryable<AnonymousType#1>' 转换为' System.Linq.ParalelQuery<AnonymousType#2>'


和代码:

queryResults = (from lI in Entities.LI
               select new { lI, lI.abc })
               .Union(from lI in Entities.LI
                             from R in Entities.RL
                             where lI.oid == R.lIOid 
                             select new { lI, R.Quantity });
Run Code Online (Sandbox Code Playgroud)

Chr*_*isF 5

错误消息告诉您确切的问题是什么.您无法将一个匿名类型转换为另一个.

你有这个作为你的第一个选择声明:

select new { lI, lI.abc }
Run Code Online (Sandbox Code Playgroud)

这是你的第二个:

select new { lI, R.Quantity }
Run Code Online (Sandbox Code Playgroud)

这些产生两个不同的对象,第一个具有任何lI加上一个字符串.第二个有'lI`和一个数值.

试试这个:

select new { lI, lI.abc, 0 }
Run Code Online (Sandbox Code Playgroud)

和:

select new { lI, "", R.Quantity }
Run Code Online (Sandbox Code Playgroud)