如何使用LiNQ构建查询以选择主节点和最后一个细节(最大值(Id))

时间:2013-04-23 19:12:41

标签: c# linq entity-framework

如何编写LiNQ到实体查询,如以下问题的答案中所示:

SQL Select From Master - Detail Tables

我想利用模型中存在的现有导航属性(导入数据库到Entity Framework EDMX)。

2 个答案:

答案 0 :(得分:1)

除了AarronLS提出的假设之外,您还需要从品牌到模型的导航属性。

var modelsAndBrandsFlattened = from brand in db.Brands
                               let latestModel = brand.Models.Last()
                               select new {
                                   brand.Brand,
                                   brand.BrandId,
                                   latestModel.Model,                                       
                                   latestModel.ModelId
                                }

答案 1 :(得分:0)

假设从Model到父品牌的导航属性名为Brand,而db是您的DbContext

var modelsAndBrandsFlattened = db.Models.Select(m => new {
        m.Brand.Brand,
        m.Model,
        m.Brand.BrandId,
        m.ModelId
    });