【问题标题】:.Select() in LINQ.Select() 在 LINQ
【发布时间】:2012-08-16 12:06:32
【问题描述】:

我有以下 LINQ 查询

public List<RoleResource> GetAllRoleResources()
    {
        return this.GetAll<RoleResource>().ToList();
    }

我只需要选择几个列,例如 Column1、Column2 和属性 BColumns,它是另一个表,并且与主表有关系。我将如何使用 .Select() 检索它....我使用了以下内容:

.Select(row => {row.Column1, row.Column2, row.BColumns}).ToList()

它不工作并且也显示错误。 .Select() 的正确语法是什么?

【问题讨论】:

标签: asp.net-mvc-3 linq linq-to-sql


【解决方案1】:

定义一个包含您感兴趣的列的视图模型:

public class MyViewModel
{
    public string Column1 { get; set; }
    public string Column2 { get; set; }
    public string BColumns { get; set; }
}

然后:

.Select(row => new MyViewModel 
{
    Column1 = row.Column1, 
    Column2 = row.Column2, 
    BColumns = row.BColumns
}).ToList()

【讨论】:

    【解决方案2】:

    "new" 关键字应添加用于实例化。以下是 LINQ 中的 .Select() 正常工作的正确语法和代码

    .Select(row => new{
            row.Column1, 
            row.Column2, 
            row.BColumns})
    .ToList()
    

    它会正常工作。

    【讨论】:

    • 嗨..我确实申请了..但我在申请时遇到了错误。代码如下: public List GetAllRoleResources() { return this.GetAll().Select(row => new { row.RoleID, row.ResourceID, row.Actions }).ToList();错误突出显示 aT .ToList();...它说转换问题...无法将 System.Collections.Generic.List 隐式转换为
    • 我应该进行任何转换吗?我已经在问题中编辑了我的代码...请检查
    猜你喜欢
    • 2011-01-05
    • 2018-06-10
    • 2013-05-11
    • 2011-09-15
    • 1970-01-01
    • 2012-11-15
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多