【发布时间】:2015-01-31 09:43:09
【问题描述】:
我在 LINQ 中有两个带有 Union 的 select 语句。
RoleID 需要在其中一个选择中有一个空值。我收到以下错误。
如果RoleID 有一个值,它就可以正常工作。 Reports 是一个具有属性的 EF 实体。
在这个例子中它可以是任何东西。示例很简单,便于说明。
LinqPad 中的代码:
var list = Reports.Select(r => new
{
RoleID = 3
})
.Union(Reports.Select(r => new
{
RoleID = new Nullable<int>() <= error
//RoleID = (int?) null <= error
//RoleID = 4 <= works
}));
list.Dump();
如何使其与 null 值一起使用并使 RoleID 为 int 类型?
错误信息:
“System.Linq.IQueryable”不包含“Union”的定义,并且最佳扩展方法重载“System.Linq.ParallelEnumerable.Union(System.Linq.ParallelQuery, System.Collections.Generic.IEnumerable)”具有一些无效的论点 实例参数:无法从“System.Linq.IQueryable”转换为“System.Linq.ParallelQuery”
【问题讨论】: