代码之家  ›  专栏  ›  技术社区  ›  Mai

无法隐式转换类型“System.Collections.Generic”。列表<AnonymousType#1>“to”System.Linq.IQueryable<MH_CRUD_Model.Member>”

  •  0
  • Mai  · 技术社区  · 10 年前

    我试图通过合并名字和姓氏来显示成员的所有数据。 该功能是成功的。但当我尝试编写如下选择函数时,它开始给我错误:

        [HttpGet]
        [Route("api/Members")]
        public IQueryable<Member> GetMembers()
        {
            var member = db.Members.Select(m=>
                new{
                    Name = m.LastName +" "+ m.LastName,
                    m.Title,
                    m.ProjectId
                });
            return member.ToList();
    
        }
    

    有帮助吗

    1 回复  |  直到 10 年前
        1
  •  1
  •   Mostafiz    10 年前

    您正在创建 anonymous 键入select语句,而不指定任何类型。同时,函数返回类型为 IQueryable<Member> 在函数的末尾,您将返回 匿名的 object 类型您需要匹配函数返回类型和返回数据。这是我的解决方案

    MemberReturn

    class MemberReturn
    {
        public string Name { get; set; }
        public string Title { get; set; }
        public string ProjectId { get; set; }
    
    }
    

    然后选择linq查询中的数据作为 会员返回 List<MemberReturn>

    [HttpGet]
    [Route("api/Members")]
    public List<MemberReturn> GetMembers()
    {
        var member = db.Members.Select(m=>
                new MemberReturn {
                    Name = m.FirstName + " " + m.LastName,
                    Title = m.Title,
                    ProjectId = m.ProjectId
                });
        return member.ToList();
    
    }