【问题标题】:LINQ Inner Join - Return one object from anonymous which is combined from Both TablesLINQ 内连接 - 从两个表组合的匿名返回一个对象
【发布时间】:2015-11-15 23:40:00
【问题描述】:

类似于answer,我有一个匿名对象,它同时包含 Proudct 和 LanguageAttribute。然后我需要像这样更新 Proudct 对象的属性:

public IQueryable<Product> GetProductList()
{

    var result = from p in db.Products
                 join la in db.LanguageAttribute on p.ID equals la.ID
                 where l.LanguageID == "en-US"
                 select new { Proudct = p, Description = la.Description };
    result.ToList().ForEach(i => i.Proudct.Description = i.Description);

    return ???

现在如何将结果对象中的仅 Proudct 列表返回给调用方法?

【问题讨论】:

    标签: c# linq inner-join


    【解决方案1】:

    给你:

    public IEnumerable<Product> GetProductList()
    {
    
        var query = from p in db.Products
                     join la in db.LanguageAttribute on p.ID equals la.ID
                     where l.LanguageID == "en-US"
                     select new { Product = p, Description = la.Description };
        var result = query.ToList();
    
        result.ForEach(i => i.Product.Description = i.Description);
    
        List<Product> products = result.Select(i => i.Product).ToList();
    
        return products;
    }
    

    List 没有实现 IQueryable,所以我也更改了方法的返回类型。如果您仍然需要 IQueryable,您可以再次使用查询。

    【讨论】:

      猜你喜欢
      • 2012-06-05
      • 1970-01-01
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多