我如何联合int?和 linqpad 中的 int 变量

how do i union int? and int variables in linqpad

在 LinqPad 中 尝试合并 int 时出现以下错误?和 int 变量 已研究但找不到似乎有效的解决方案。

CS1929 'IQueryable<>' 不包含 'Union' 的定义,最佳扩展方法重载 'ParallelEnumerable.Union<>(ParallelQuery<>, IEnumerable<>)' 需要 'ParallelQuery<>'

类型的接收器
//Parent not null
var parent =
from s in Students
where s.Id==5027
select new { 
    ID_PK = s.CaseOwnerIdAspnet_Users.User_ID_FKDYN_User_Profile.Organization_ID_FKDYN_Organization.Parent_ID_FK == null ?
    s.CaseOwnerIdAspnet_Users.User_ID_FKDYN_User_Profile.Organization_ID_FKDYN_Organization.ID_PK
    :
    s.CaseOwnerIdAspnet_Users.User_ID_FKDYN_User_Profile.Organization_ID_FKDYN_Organization.Parent_ID_FK
    };

var orgs = 
from o in DYN_Organizations
join p in parent on o.Parent_ID_FK equals p.ID_PK
select new {ID_PK = o.ID_PK};

parent.Union(orgs);

假设 parent 是 returning int? 并且 orgs 是 returning int,那么你可以将 orgs 更改为 return int?通过转换值,例如

改为

var orgs = 
from o in DYN_Organizations
join p in parent on o.Parent_ID_FK equals p.ID_PK
select new {ID_PK = (int?) o.ID_PK};

您的错误消息还提到了 ParallelQuery 和 IEnumerable,我不确定您是否可以在这些类型之间创建联合。如果没有,那么最简单的方法是将 .ToList() 添加到每个查询的末尾,然后您将在两个列表之间创建一个联合。