gpt4 book ai didi

linq - 表达式转换为 linq 表达式时索引超出范围

转载 作者:行者123 更新时间:2023-12-04 21:49:44 25 4
gpt4 key购买 nike

我正在从我的 userGroupsRepository 创建一个选择列表项的集合。
我知道有两个记录。

有什么我做错了吗?

起初我编写了以下代码,因为我认为这是获取选择列表项集合的更快方法,其中我将“this._userGroupRepository.All”作为 IQueryable

我的收藏是:

List<SelectListItem> listItems = this._userGroupRepository.All.Select(
userGroup => new SelectListItem() {
Text = userGroup.GroupName,
Value = userGroup.UserGroupId.ToString()
}).ToList();

然而,这种实现的结果是

Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index



在这里,我实现了集合,将其重写为 foreach
  List<SelectListItem> listItems = new List<SelectListItem>();
foreach (UserGroup userGroup in this._userGroupRepository.All)
{
listItems.Add(new SelectListItem(){
Text = userGroup.GroupName,
Value = userGroup.UserGroupId.ToString()});
}

最佳答案

对您的 Queryable 进行 Enumerable 是否有帮助?

this._userGroupRepository.All.AsEnumerable().Select(

关于linq - 表达式转换为 linq 表达式时索引超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7030522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com