C# ASP MVC API控制器组合分类结果

C# ASP MVC API控制器组合分类结果,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,在ASP MVC Api上,我有树命名的函数来检索数据,但我想将它们组合到一个请求样式中。下面是代码 [ActionName("Styles")] public IEnumerable<StyleDTO> GetStyles() { return from s in db.styles select new StyleDTO() { Name = s.Name, StyleId = s.StyleId }; } [ActionName("Label

在ASP MVC Api上,我有树命名的函数来检索数据,但我想将它们组合到一个请求样式中。下面是代码

[ActionName("Styles")]
public IEnumerable<StyleDTO> GetStyles()
{
    return from s in db.styles
           select new StyleDTO() { Name = s.Name, StyleId = s.StyleId };

}


[ActionName("Labels")]
public IEnumerable<LabelDTO> GetLabels()
{
    return from l in db.Labels
           select new LabelDTO() { Name = l.Name, LabelId = l.LabelId , image = l.image};
}

[ActionName("Commodity")]
public IEnumerable<CommodityDTO> GetCommodity()
{
    return from c in db.Commodities
           select new CommodityDTO() { CommodityId = c.CommodityId, CreateDate = c.CreateDate, Name = c.Name, Varieties = ( from v in c.Varieties select new VarietyDTO() 
           {
                CommodityId = v.CommodityId, Name = v.Name, VarietyId = v.VarietyId
           }) };
}
[ActionName(“样式”)]
公共IEnumerable GetStyles()
{
以db.styles格式从s返回
选择newstyledto(){Name=s.Name,StyleId=s.StyleId};
}
[ActionName(“标签”)]
公共IEnumerable GetLabels()
{
从数据库标签中的l返回
选择newlabeldto(){Name=l.Name,LabelId=l.LabelId,image=l.image};
}
[行动名称(“商品”)]
公共IEnumerable GetCommodity()
{
以db.商品从c返回
选择new CommodityTo(){CommodityId=c.CommodityId,CreateDate=c.CreateDate,Name=c.Name,Varies=(从c.Varies中的v选择new VarietyTo())
{
CommodityId=v.CommodityId,Name=v.Name,VarietyId=v.VarietyId
}) };
}

创建一个包含所有数据的ViewModel,然后创建函数填充ViewModel并返回它

查看模型

public class AllStyles
{
    public IEnumerable<StyleDTO> Commodities {get;set;}
    public IEnumerable<LabelDTO> Labels {get;set;}
    public IEnumerable<CommodityDTO> Styles {get;set;}
}

“AllStyles”是这个类更好的名字:)@ssg同意-我想,当我键入答案时,GetAllStyles就卡在我的脑海里了!
[ActionName("StylesAll")]
public AllStyles GetAllStyles()
{
    return new AllStyles{
        Styles = from s in db.styles 
                 select new StyleDTO() { 
                     Name = s.Name, 
                     StyleId = s.StyleId },
        Labels = from l in db.Labels 
                 select new LabelDTO() { 
                     Name = l.Name, 
                     LabelId = l.LabelId , 
                     image = l.image},
        Commodities = from c in db.Commodities 
                      select new CommodityDTO() { 
                          CommodityId = c.CommodityId, 
                          CreateDate = c.CreateDate, 
                          Name = c.Name, 
                          Varieties = ( from v in c.Varieties 
                                        select new VarietyDTO() {
                                            CommodityId = v.CommodityId, 
                                            Name = v.Name, 
                                            VarietyId = v.VarietyId})}
    };
}