0

C# で次のクエリを適用しています。

var query = from b in db.SalesOrderHeaders
        where b.SubTotal >  (from c in db.Employees
                             join v in db.EmployeePayHistories 
                         on c.BusinessEntityID equals v.BusinessEntityID
                             select v.Rate)
        select new
        {
            b.BusinessEntityID,
            b.SubTotal,
        };

しかし、エラーが返されます: linq and face error: Operator '>' cannot be applied to operands of type 'decimal' and 'System.Linq.IQueryable<decimal>'.

b.subtotalとは両方ともv.rate10 進数型であり、これら 2 つを比較したいと思います。どんな助けでも大歓迎です。

4

2 に答える 2

0

内部クエリの最後に Max を追加するだけです。

var query = from b in db.SalesOrderHeaders
    where b.SubTotal >  (from c in db.Employees
                         join v in db.EmployeePayHistories 
                     on c.BusinessEntityID equals v.BusinessEntityID
                         select v.Rate).Max()
    select new
    {
        b.BusinessEntityID,
        b.SubTotal,
    };
于 2013-05-11T18:11:23.567 に答える