我有一个如下所示的数据库表:
现在.这是DetectorID 1541 的状态历史记录指示器.
我只想在我的网站上显示1行.为此,我执行以下查询.
[Query] public IQueryableGetScannerStatusHistoryy(int detectorID) { return ObjectContext.ScannerStatusHistories.Where(t => t.DetectorID == detectorID).OrderByDescending(d => d.TimeStamp).Take(1); ; }
它做了什么,它抓住了最新的行(基于TimeStamp)并显示它.
这会给我结果ScannerStatusHistoryID 61
.
但是,我想拥有的是上次更改值的行.
正如你所看到的ScannerStatusHistoryID 54
,RC3
有一个值4
.然后ScannerStatusHistoryID 57
,它又变回了3
.
从那时起,价值观没有改变.
我想拥有的是获取的查询ScannerStatusHistoryID 57
.再次直到值变化,然后我希望它抓住那个中的第一个.
我如何实现这一目标?我正在考虑计算与最后一个查询匹配的结果.但是,在此示例中,它将返回7个结果(因为前4个与最后3个相同).所以它不会给你正确的结果.