날짜/시간 및 값 테이블이 있습니다. 값은 날짜/시간에 탱크의 볼륨입니다. 지난 10 일 동안 매 시간마다 탱크가 가득 찼거나 비어있는 정도를 계산하려고합니다.LINQ를 사용하여 시간당 연료 소비량을 계산하십시오.
나는 15 분 간격으로 탱크를 측정하지만 어쩌면 내가 20 분마다 측정 할 것입니다. LINQ를 사용하여 계산하려고합니다.
allDataView.RowFilter = String.Format(CultureInfo.InvariantCulture.DateTimeFormat,
"DateOfData < #{0}# AND DateOfData > #{1}#", DateTime.Now, DateTime.Now.AddDays((-1) * daysInterval));
allDataView.Sort = "DateOfData DESC";
// making the diff between every sample during the last daysInterval days and put it into a list with these differences.
var result = allDataView.Table.AsEnumerable().Zip(allDataView.Table.AsEnumerable().Skip(1), (row1, row2) => Convert.ToDouble(row1["Value"])-Convert.ToDouble(row2["Value"]));
그러나이 모든 측정의 차이입니다 : 내가 무슨 짓을
이다. 내가 원했던 것은 그 날 기간 동안의 라운드 시간에 샘플 간의 차이를 계산하는 것입니다. 예를 들어
: 나는 11시에 있었던 최신 값을 (3)과 (0.5) 10시에 있던 마지막 값을 가지고 그것을 3을 삽입 할보다
9:50 0.5
10:05 1
10:20 2
10:35 2.5
10:50 3
11:05 5
-0.5 = 2.5로 목록에 추가하고 해당 기간 동안 계속합니다.
나는 Linq를 사용하여 그것을하고 싶다. 구현 방법에 대한 도움을 주시면 감사하겠습니다.
고마워요.
호기심으로이 downvote에 대한 추론하기 위하여? – DrewbieDoo
비즈니스 로직을 DataBase에 구현하면 안됩니다. 또한 BL은 소스 안전성이 있어야합니다. [염려의 분리] (http://en.wikipedia.org/wiki/Separation_of_concerns) – mecek
건배, 그러나 나는 SQL 서버에서 LINQ보다 빠르게 실행될 Linq에서 수행 된 추가 기능에 이어 SQL 서버에서 간단한 그룹 선택을 제안했습니다. 양철통. – DrewbieDoo