在做了一些研究之后,我找到了做我的问题的方法,但是,我正在尝试在一个名为GetAssignedToDDL
的函数中执行此操作,该函数的类型为List<SelectListItem>
。
在尝试了我在这里和其他资源上找到的一些答案后,我不断收到同样的错误。我不断得到的错误:
无法隐式转换类型 'System.Collections.Generic.List' 自 'System.Collections.Generic.List' LWC C:\Users\runningexe\Desktop\LincolnWaterCommissionWorkOrderInventorySystem\LWC\LWC\Controllers\WorkOrderController.cs 201 Active
有没有办法在函数的类型List<SelectListItem
的情况下做到这一点?还是我在这里缺少其他东西。就像我说的,我尝试了许多本质上做同样事情的解决方案,但我得到的错误是一样的。
编辑:使用柯克的答案的功能。现在我的数据库上下文出现错误。
private static List<SelectListItem> GetAssignedToDDL()
{
List<SelectListItem> assignedToList = new List<SelectListItem>();
var dbContext = new ApplicationDbContext();
var userList = dbContext.Users.ToList();
assignedToList = userList.Select(u => new SelectListItem
{
Text = u.UserName,
Value = u.Id
}).ToList();
return assignedToList;
}
我之前尝试过:
private static List<SelectListItem> GetAssignedToDDL()
{
return userManager.Users.ToList();
}
以及使用不同代码的其他一些尝试(相同的错误(。不过这是最近的一次。
数据库上下文错误:
尚未为此 DbContext 配置任何数据库提供程序。可以通过重写 DbContext.OnConfigure 方法或在应用程序服务提供程序上使用 AddDbContext 来配置提供程序。如果使用 AddDbContext,则还要确保 DbContext 类型在其构造函数中接受 DbContextOptions 对象,并将其传递给 DbContext 的基构造函数。
您可以使用LINQ 的Select
函数。在看到编译错误的行上,尝试附加以下内容:
.Select(u => new SelectListItem { Text = u.UserName, Value = u.Id }).ToList();
如果您包含代码,我可以编辑此答案以使其更具体地针对您的用例。如果尚未包含using System.Linq;
,您还需要包含它。
如果您不熟悉Select
,它实际上被称为mapping
函数。你可以在这里找到一个很好的解释。