考虑两个具有多对多关系的表 Bill 和 Product。如何使用 Entity Sql 获取特定产品的所有账单?
问问题
1055 次
2 回答
3
像这样的东西
SELECT B FROM [Container].Products as P
OUTER APPLY P.Bills AS B
WHERE P.ProductID == 1
将为每个 Bill 生成一行
另一种选择是这样的:
SELECT P, (SELECT B FROM P.Bills)
FROM [Container].Products AS P
WHERE P.ProductID == 1
这将为每个匹配的产品(在这种情况下只有一个)生成一行,并且该行中的第二列将包含一个包含该产品账单的嵌套结果集。
希望这可以帮助
亚历克斯
于 2009-05-01T23:49:06.213 回答
0
你需要像这样使用一些linq;
...
using (YourEntities ye = new YourEntities())
{
Product myProduct = ye.Product.First(p => p.ProductId = idParameter);
var bills = myProduct.Bill.Load();
}
...
这假设您已使用实体框架为您的数据构建模型。bills 变量将保存与您的产品对象相关的 Bill 对象的集合。
希望能帮助到你。
于 2009-04-15T08:38:11.170 回答