无法从“匿名类型#1”转换为“int”
本文关键字:int 转换 匿名类型 类型 | 更新日期: 2023-09-27 18:30:55
我只需要获取所有团队成员 ID,以便我可以查询联系人表。
var teamMembersIds = (from q in _repository.GetQuery<TeamMember>
(t => teamIds.Contains(t.TeamId))
select new { q.ResourceContactId }
)
.ToList();
问题是我需要将其与另一个匿名 id 列表合并。
resContactIds.AddRange(teamMembersIds);
我收到以下错误:
我也试过这个:
var resContactIds = new List<int>();
foreach (var _id in teamMembersIds)
{
if(resContactIds.Contains(_id))
{
resContactIds.Add(_id);
}
}
我收到以下错误:cannot convert from 'AnonymousType#1' to 'int'
select new { q.ResourceContactId }
选择匿名类型时,如果您想要一个List<int>
,请删除new
和大括号,例如:
var teamMembersIds = (from q in _repository.GetQuery<TeamMember>
(t => teamIds.Contains(t.TeamId))
select q.ResourceContactId //here
)
.ToList();
问题是我需要将其与另一个匿名列表合并 IDS
您的其他列表resContactIds
也是List<int>
,它不是匿名对象的列表。
还有一件事要补充,您可以在第一个查询中省略调用ToList
,因为AddRange
可以接受IEnumerable<T>