2017-12-11 2 views
1

Wie kann man quantity basierend auf date aus einer anderen Tabelle zusammenfassen?Wie wird die Menge basierend auf dem Datumsbereich einer anderen Tabelle berechnet?

var items = entity.ItemHeaders.Where(x => x.date >= _dateFrom && x.date <= dateTo); 
var tQty = entity.ItemContents.Where(x => x.Warehouse == dto.Warehouse).Sum(x => x.Quantity); 

Das Problem ist, ich habe keine Ahnung, wie man sie verbindet.

+0

ich nicht, was das mit Mvc zu tun hat. –

+0

Wenn ich das lese, werde ich verwirrt. Vielleicht verstehe ich das nicht. Die Gesamtmenge von was? Der gesamte Zeitraum? Kannst du bitte etwas ausarbeiten? – Jamin

+0

Welche Beziehung besteht zwischen ItemHeader und ItemContent? –

Antwort

1

Um die Einheit von HeaderNumber beitreten und die Gesamtsumme:

var total = (from header in entity.ItemHeaders 
      from content in entity.ItemContents 
      where header.date >= _dateFrom && header.date <= dateTo 
       && content.Warehouse == dto.Warehouse 
       && header.ID = content.HeaderNumber 
      select content.Quantity).Sum(); 

Sie verwenden Entity Framework Angenommen, wird es einfacher sein, wenn Sie eine Navigationseigenschaft definiert in ItemContent für die ItemHeader haben. z.B .:

public virtual ItemHeader Header {get; set;} 

Dann könnte die Abfrage sein:

var total = entity.ItemContents 
      .Where(x=> x.Header.date >= _dateFrom && x.Header.date <= dateTo 
        && x.Warehouse == dto.Warehouse) 
      .Sum(x => x.Quantity); 
Verwandte Themen