使用 Linq 查询和从视图中的模态获取一项的连接表中单列的总和

Sum of single column in Joined tables using Linq query and Get One Item from Modal in View

我正在编辑问题,其中我要求提供小计列的总和。我想在我的 Cshtml 视图中显示客户名称和联系方式以及产品详细信息。我正在使用 linq 连接来显示数据。产品已显示,但不知道在标题上显示客户名称和联系方式。这是我的代码

public ActionResult GetproductDetails(string id)
        {
            List<tbl_Orders_Details> ODList = null;

            var OD = (from D in db.tbl_Orders_Details
                      join O in db.tbl_Orders
                      on D.Order_ref_No equals O.Refrence_No
                      where D.Order_ref_No == id
                      select new
                      {
                          D.Price,
                          D.product,
                          D.Note,
                          D.Qty,
                          D.Tax_Pkr,
                          D.Discount,
                          D.Subtotal

                      }).ToList();


            ODList = new List<tbl_Orders_Details>();
            foreach (var i in OD)
            {
                tbl_Orders_Details SOD = new tbl_Orders_Details();

                SOD.Price = i.Price;
                SOD.product = i.product;
                SOD.Note = i.Note;
                SOD.Qty = i.Qty;
                SOD.Tax_Pkr = i.Tax_Pkr;
                SOD.Discount = i.Discount;
                SOD.Subtotal = i.Subtotal;
                ODList.Add(SOD);
            }

            return PartialView("GetproductDetails", ODList);

        }

Cshtml 视图

<table class="table">
    <tr>
        <td colspan="8" class="text-center"><b>CUSTOMER NAME</b></td>
    </tr>
    <tr>
        <td colspan="4" class="text-left">ORDER DATE</td>
        <td colspan="4" class="text-right">REFERENCE NUMBER</td>
    </tr>
    <tr>
        <td colspan="2" class="text-left">CONTACT NUMBER</td>
        <td colspan="4" class="text-right">BILLING ADDRESS</td>
    </tr>
</table>

     @foreach (var item in Model)
            {
                <tr>
                    <td class="text-center">@item.product</td>
                    <td class="text-center">@item.Note</td>
                    <td class="text-center">@item.Price</td>
                    <td class="text-center">@item.Qty</td>
                    <td class="text-center">@item.Discount</td>
                    <td class="text-center">@item.Tax_Pkr</td>
                    <td class="text-center">@item.Subtotal</td>
                </tr>
            }

    <tr>

                <td colspan="6" class="text-center"><b>@Model.AsEnumerable().Sum(o=>o.Subtotal)</b></td>
            </tr>

和模态class

[MetadataType(typeof(OrdersDetailsMeta))]
    public partial class tbl_Orders_Details
    {
        public string customer { get; set; }
        public string contact { get; set; }
    }

    public class OrdersDetailsMeta
    {
        public int Order_Detail_ID { get; set; }
        public string Order_ref_No { get; set; }
        public string product { get; set; }
        public string Note { get; set; }
        public decimal Price { get; set; }
        public decimal Qty { get; set; }
        public decimal Tax_Pkr { get; set; }
        public decimal Discount { get; set; }
        public decimal Subtotal { get; set; }
    }

你可以在 cshtml 中使用类似这样的东西

Model.AsEnumerable().Sum(o=>o.Subtotal);