在 LINQ 中使用 select new 返回列表

2024-02-06

这是我的方法,它给了我错误。

public List<Project> GetProjectForCombo()
{
    using (MyDataContext db = new MyDataContext (DBHelper.GetConnectionString()))
    {
        var query = from pro in db.Projects
                    select new { pro.ProjectName, pro.ProjectId };

        return query.ToList();
    }
}

如果我用这个改变它:

public List<Project> GetProjectForCombo()
{
    using (MyDataContext db = new MyDataContext (DBHelper.GetConnectionString()))
    {
        var query = from pro in db.Projects
                    select pro;

        return query.ToList();
    }
}

然后它就可以正常工作,没有错误。

你能告诉我我怎样才能返回吗ProjectId and ProjectNam?


方法不能返回匿名类型。它必须与方法返回类型中定义的类型相同。检查 GetProjectForCombo 的签名并查看您指定的返回类型。

创建具有所需属性的 ProjectInfo 类,然后在新表达式中创建 ProjectInfo 类型的对象。

class ProjectInfo
{
   public string Name {get; set; }
   public long Id {get; set; }
}

public List<ProjectInfo> GetProjectForCombo()
{
    using (MyDataContext db = new MyDataContext (DBHelper.GetConnectionString()))
    {
        var query = from pro in db.Projects
                    select new ProjectInfo(){ Name = pro.ProjectName, Id = pro.ProjectId };

        return query.ToList();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 LINQ 中使用 select new 返回列表 的相关文章

随机推荐