LINQ查询的位置

时间:2011-07-05 07:22:31

标签: c# asp.net linq where-clause

我有下一个代码:

b.Text = myDataContext.purchases.Count().ToString();

我在aspx页面上的"b"label

我想添加代码:where items.main == true,就像我在这里:

        var bla = from items in myDataContext.items
                   where items.main == true
                   select items;

我如何在b.Text = myDataContext.purchases.Count().ToString();

上执行此操作

我有一个表:items,列itemId和列main(位)。

和表:purchase

购买时我有专栏itemId(有关系)

1 个答案:

答案 0 :(得分:8)

Count()的重载带有谓词(过滤器);并且== true是多余的,因此如果main购买的一部分:

b.Text = myDataContext.purchases.Count(p => p.main).ToString();

通过编辑,您需要通过帮助成员加入:

b.Text = myDataContext.purchases.Count(p => p.item.main).ToString();

或手动:

  b.Text = (from p in myDataContext.purchases
            join i in myDataContext.items on p.itemId equals i.itemId
            where i.main
            select p).Count().ToString();