gpt4 book ai didi

c# - 如何在循环中追加 IQueryable

转载 作者:行者123 更新时间:2023-11-30 20:07:46 24 4
gpt4 key购买 nike

我有一个简单的 foreach 循环,它遍历我存储在用户购物车中的产品 ID,并从数据库中查找产品的详细信息。

正如您从我的代码中看到的那样,我目前所拥有的将返回屏幕上的最后一项 - 因为变量在循环中被覆盖。我希望能够对此进行连接,以便我可以仅显示购物篮中商品的产品详细信息。

我知道我可以做一些非常简单的事情,比如在我使用的转发器中只存储 ProductID,然后 onitemdatabound 在那里调用数据库,但如果可能的话我只想调用一个数据库。

目前我有以下内容(从示例中删除了复杂的连接,但如果这很重要请告诉我):

IQueryable productsInBasket = null;
foreach (var thisproduct in store.BasketItems)
{
productsInBasket = (from p in db.Products
where p.Active == true && p.ProductID == thisproduct.ProductID
select new
{
p.ProductID,
p.ProductName,
p.BriefDescription,
p.Details,
p.ProductCode,
p.Barcode,
p.Price
});
}

BasketItems.DataSource = productsInBasket;
BasketItems.DataBind();

感谢您的帮助!

最佳答案

听起来你真的想要这样的东西:

var productIds = store.BasketItems.Select(x => x.ProductID).ToList();
var query = from p in db.Products
where p.Active && productIds.Contains(p.ProductID)
select new
{
p.ProductID,
p.ProductName,
p.BriefDescription,
p.Details,
p.ProductCode,
p.Barcode,
p.Price
};

关于c# - 如何在循环中追加 IQueryable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8053587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com