【发布时间】:2011-11-08 16:17:14
【问题描述】:
我有一个简单的 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();
感谢您的帮助!
【问题讨论】:
标签: c# entity-framework webforms