none
Como faço essa query no LINQ RRS feed

  • Pergunta

  • Bom Dia. Gostaria de fazer essa consulta :

     

    Code Snippet

    SELECT od.OrderID, SUM(((od.UnitPrice * od.Quantity) * (1 - od.Discount) / 100) * 100) AS Subtotal
    FROM [Order Details] AS od
    GROUP BY od.OrderID

     

     

     

    Já tentei de tudo quanto foi forma e não consegui. O máximo a que cheguei foi nesse resultado:

     

    Code Snippet

    from dp in OrderDetails group dp by dp.OrderID
    into g
    select new{OrderID = g.Key, Total = g.Sum(x => x.UnitPrice * x.Quantity)}

     

     

    José Antunes
    quinta-feira, 7 de agosto de 2008 13:16

Respostas

  • using System.Data.Linq;

    using System.Linq;

     

    var query = from orders in Datacontext.Orders

    select new {

    OrderID = orders.OrderID,

    Total = orders.Order_Details.Sum(details => ((float)details.UnitPrice * details.Quantity) * ((1 - details.Discount) / 100) * 100)

    };

    sexta-feira, 8 de agosto de 2008 19:34

Todas as Respostas

  • using System.Data.Linq;

    using System.Linq;

     

    var query = from orders in Datacontext.Orders

    select new {

    OrderID = orders.OrderID,

    Total = orders.Order_Details.Sum(details => ((float)details.UnitPrice * details.Quantity) * ((1 - details.Discount) / 100) * 100)

    };

    sexta-feira, 8 de agosto de 2008 19:34
  • Caro Colega, o seu código rodou, mas não agrupou os dados e os os valaores se repetiram(sempre os mesmos). Mas fiz alteração no meu exemplo utilizando a sua dica e aí ele rodou belezinha, ficando assim:

     

    Code Snippet

    from dp in OrderDetails group dp by dp.OrderID
    into g
    select new{OrderID = g.Key, Total = g.Sum(x => ((float)x.UnitPrice * x.Quantity)* ((1 - x.Discount) / 100) * 100)}

     

     

    Agradeço e muito obrigado
    sábado, 9 de agosto de 2008 14:50