2017-02-17 19 views
0

Помогите мне преобразовать его в лямбдаLinQ сумма группа по между использованием лямбда

select 
    Orders.Order_Date as date, sum(Amount) as amount 
from 
    Orders 
inner join 
    OrderDetails on Orders.Order_ID = OrderDetails.Order_ID 
where 
    Order_Date<= '2017-02-10' and Order_Date<= '2017-02-11' 
group by 
    (Order_Date) 
order by 
    date asc 

Моя модель:

public class TotalIncome 
{ 
    [DataType(DataType.Date)] 
    public DateTime fromDate { get; set; } 
    [DataType(DataType.Date)] 
    public DateTime toDate { get; set; } 
    public List<IncomeByDate> ListIncome { get; set; } 
} 

мой контроллер:

var ba = db.Orders.Include(o => o.OrderDetails) 
.Where(o => o.Order_Date >= startDate) 
.Where(o => o.Order_Date <= endDate); 

я могу» t сумма и группа. Помогите мне исправить

+0

Вы с использованием как EF4 и Ef6 в вашем проекте? – Will

+0

@ Могу ли я использовать EF 6 – bao4461826

+0

@GertArnold sr, в следующий раз я покажу больше информации – bao4461826

ответ

0

Допуская Сумму является членом OrderDetails

var ba = db.Orders 
    .Include(o => o.OrderDetails) 
    .Where(o => o.Order_Date >= startDate) 
    .Where(o => o.Order_Date <= endDate) 
    .GroupBy(o => o.Order_Date) 
    .Select(s => new { 
    date = s.Key, 
    amount = s.Sum(o => o.OrderDetails.Sum(od => od.Amount)), 
    }); 

 Смежные вопросы

  • Нет связанных вопросов^_^