CS1061 为什么我不能使用“ToList”

问题描述 投票:0回答:1


UserTypeList = new List<UserTypeMV>();
foreach (var usertype in new DatabaseLayer.Pro_Database().UserTypeTables.ToList())
{
    UserTypeList.Add(new UserTypeMV() { UserTypeID = usertype.UserTypeID, UserType = usertype.UserType });
}}

我在“ToList”上遇到错误。我是这方面的新手。您对我如何解决它有什么想法吗?

我尝试再次输入,但 ToList 不在下拉列表中。

asp.net asp.net-mvc web
1个回答
0
投票

您在

ToList()
中看到的错误可能是由于缺少
using
命名空间的
System.Linq
语句,因为
ToList()
是一种 LINQ 方法。您可以采取以下措施来解决该问题:

  1. 在文件顶部添加
    using System.Linq;
    指令。
using System.Linq;
  1. 确保您的

    UserTypeTables
    IEnumerable
    IQueryable
    如果
    UserTypeTables
    是不直接支持
    ToList()
    的集合类型,您可能需要检查它是如何从数据库返回的。例如,如果
    UserTypeTables
    IQueryable
    ,则
    ToList()
    应该可以工作,但如果是其他类型,您可能需要调整代码。

  2. 检查您是否拥有正确版本的实体框架。 如果您使用实体框架 (EF),请确保您的目标版本正确(EF 6.x 或 EF Core)。在 EF Core 中,

    ToList()
    的工作方式类似,但对于 EF 6.x,您可能需要确保在
    IEnumerable
    上使用该方法。

这是代码的更正版本,假设您有

System.Linq

using System.Linq;  // Add this at the top of your file

UserTypeList = new List<UserTypeMV>();
foreach (var usertype in new DatabaseLayer.Pro_Database().UserTypeTables.ToList())
{
    UserTypeList.Add(new UserTypeMV() { UserTypeID = usertype.UserTypeID, UserType = usertype.UserType });
}
© www.soinside.com 2019 - 2024. All rights reserved.