我正在尝试连接表中的两个字段并将其分配为列表。请参见下面的代码

public List<ForDropDownList> GetAccountsForDownList()
{
    var accountList = new List<ForDropDownList>();

    using (_context = new ApplicationContext())
    {
        accountList.AddRange( _context.Account
                                      .Select(a => new
                                      {
                                          a.AccountId,
                                          FullName = string.Concat(a.FirstName, a.LastName)
                                      }));
    }

    return accountList;
}


这是我的模特

public class ForDropDownList
{
    public int AccountId { get; set; }
    public string FullName { get; set; }
}


我收到此错误:


  参数类型System.Linq.IQueryable 不可分配给参数类型Systems.Collection.Generic.IEnumerable

最佳答案

基本上,您的Select实例化了一个新的动态对象,然后您无法将其添加到List<ForDropDownList>
以下代码应该工作:

accountList.AddRange(_context.Account.Select(a => new ForDropDownList { AccountId = a.AccountId, FullName = string.Concat(a.FirstName, a.LastName) }));

关于c# - 参数类型System.Linq.IQueryable <>不可分配给参数类型Systems.collection.generic.ienumerable,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48353407/

10-09 00:46