从实体中的其他表中获取最低价格

本文关键字:获取 最低价 低价格 其他 实体 | 更新日期: 2023-09-27 18:24:17

我在这个网站上工作,我把所有可用的产品都放在一个页面上。每个产品都有自己的产品细节,包括颜色、尺寸、价格等。

我想展示这个产品的最低价格。我使用ViewModel来列出产品列表,目前我不知道如何才能得到这个特定产品的价格。它的产品详细信息也是一个列表。所以不知怎么的,我应该得到它的产品细节的最低价格。

这是我的视图模型:

var model = new ViewModelProductOverview()
        {
            Products = new ProductRepository().GetProductsAvailable(Id, Index, Size),
            Category = new CategoryRepository().Get(Id),
            CurrentPageID = page.HasValue ? page.Value : -1
        };

我的观点:

@{
            var i = 0;
            foreach (var product in Model.Products)
            {
                var position = "";
                switch (i)
                {
                    case 0: position = "first";
                        break;
                    case 1: position = "second";
                        break;
                    case 2: position = "third";
                        break;
                    default: i = 0; position = "first";
                        break;
                }
            <li class="@position"><a href="@Url.Action("Detail", "Product", new { productseourl = product.Name.ToSeoUrl(Sign.Minus), productid = product.ID })" >
            </a>
                <table>
                    <tr>
                        <td>
                            @product.Name @product.FabricType.Name
                        </td>
                        <td style="text-align: right;">
                            //Its lowest price need to come here
                        </td>
                    </tr>
                    <tr>
                        <td>
                            @product.SubCategory.Name
                        </td>
                        <td style="text-align: right;">
                            //Promotion price
                        </td>
                    </tr>
                </table>
            </li>
                i++;
            }
        }

从实体中的其他表中获取最低价格

基本上,

 var minPrice = allProducts.Details.Select(d => d.Price).Min();
 var cheapestDetail = allProducts.Details.OrderBy(d => d.Price).First();