2

考虑两个具有多对多关系的表 Bill 和 Product。如何使用 Entity Sql 获取特定产品的所有账单?

4

2 回答 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 回答