在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);
答案 0 :(得分:0)
假设父级返回int?
,而orgs返回int
,那么您可以更改orgs返回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()
,然后在两个将起作用的列表之间创建一个并集。