Asp.Net如何获得每个部门的总结

时间:2019-02-18 06:47:28

标签: asp.net asp.net-mvc entity-framework

enter image description here

大家好,我希望有人能帮助我解决此类问题。 如您在附图中看到的,我有四个表,一个用于部门,一个用于类别,一个用于产品,最后一个InventoryTable

Departments { DeptId, DeptName }

Category {CatId, CategoryName}
Product {PrId, PrName, CatId}
And Inventory {InventoryId, ProductId, DepartmentId, Status}

我想创建一个表,该表显示为所附的图像显示。我想显示每个部门中每个产品的状态以及该产品的总数。

通过这种方式,部门不需要动态填充。我可以手动编写它们。

这是我的模特

public class SummeryOfInventoryModel
{
        public Product product { get; set; }
        public string productName { get; set; } 
        public int ProductId { get; set; }

        public Department department { get; set; }
        public string DepartmentName { get; set; } 
        public int DepartmentId { get; set; }

        public int Status { get; set; }
}

这就是我试图做动作控制器的方式

[HttpGet]
public async Task<ActionResult> GetProductSummery()
{
     using (context)                                 
     {
        return (PartialView("_ProductSummery", await context.Inventory
               .Include(p =>p.Product).Include(d =>d.Department)
               .GroupBy(m => m.Product.PrName)
               .Select(g => new SummeryOfInventoryModel { productName = g.Key, Status = g.Sum(c => c.Status) })
               .ToListAsync()));
     }

}

但是,这仅给我这样的产品名称和该产品的总状态

Product  Totaly 
Audio       25
Ford        10   

但是我想要的是

Product Ny  Paris   Berlin  Total
Audio   20  5                25
Ford    10                   10
Volvo       15         10    25 

这是我的PartielView:请帮助,谢谢您的帮助,谢谢

@model IEnumerable<Lager03.Models.SummeryOfInventoryModel>


<p>

</p>
<table class="table">
    <tr>

        <th>
            Produkt

        </th>
        <th>
           Ny

        </th>
        <th>
            Paris
        </th>
        <th>
           Berlin
        </th>
        <th>
            Totalt 

        </th>


    </tr>

    @foreach (var item in Model)
    {
    <tr>

        <td>
            @Html.DisplayFor(modelItem => item.ProductName)
 </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Status)
        </td>


    </tr>
    }

</table>

0 个答案:

没有答案