gpt4 book ai didi

c# - 如何使用 Linq 和 ASP.Net Forms 在多个表之间编写联接

转载 作者:太空宇宙 更新时间:2023-11-03 21:50:40 25 4
gpt4 key购买 nike

我已经实现了一个有效的解决方案,但 LINQ 对我来说是个难题,我正在努力寻找所需的信息。

这是我的:

var prodCat = from pc in db.ProductCategories
where pc.Category == Int32.Parse(CategoriesDropper.SelectedValue)
select pc;

List<int> productIds = new List<int>();
foreach (var pc in prodCat)
{
productIds.Add(pc.Product);
}

var products = from p in db.Products
where productIds.Contains(p.Id)
select p;

ProductsGridView.DataSource = products;
ProductsGridView.DataBind();

理想情况下,我希望通过一次选择而不是两次选择获得相同的结果。

最佳答案

var products = from pc in db.ProductCategories
join p in db.Products on pc.Product equals p.Id
where pc.Category == Int32.Parse(CategoriesDropper.SelectedValue)
select p;

ProductsGridView.DataSource = products;
ProductsGridView.DataBind();

参见 LINQ - Join Operators in C# for Visual Studio 2010供引用。

希望这对您有所帮助!

关于c# - 如何使用 Linq 和 ASP.Net Forms 在多个表之间编写联接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14715794/

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