使用 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);
我正在编辑问题,其中我要求提供小计列的总和。我想在我的 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);