これが機能するかどうかわかりませんが、わかりやすく説明してください。私は05/27/2016 09:06:00
で、このテーブルにレコードを追加したい場合は、表は次のようになり、今LINQを使用したTimeSpanに基づくレコードの取得
ID | Day | Summary |
------------------------------------------------
1 05/27/2016 09:01:00 Test1
2 05/27/2016 09:04:00 Test2
3 05/27/2016 09:08:00 Test3
:
は、私は、データベースのテーブルには、次のレコードが含まSummaryTests
と呼ばれる持っていると言うことができます
ID | Day | Summary |
------------------------------------------------
1 05/27/2016 09:01:00 Test1
2 05/27/2016 09:04:00 Test2
3 05/27/2016 09:08:00 Test3
4 05/27/2016 09:06:00 Test4 // added record
は、Day
に基づいて、そのレコードはレコード2 &、レコード3の間でなければなりませんが、SQL順序はID
のオフに基づいています。だから私はDay
に基づいて、レコードを取得する場合、それは私がちょうど追加されたレコードの前に来る(レコード2でなければなりません)これは、私はそれをやっている方法です。
[HttpPost]
public ActionResult Create([Bind(Include = "ID,Day,Summary")] SummaryTest summaryTest)
{
int previousRecord = db.SummaryTests.Where(x.Day < summaryTest.Day).OrderByDescending(x => x.Day).FirstOrDefault().ID;
SummaryTest prevSumTest = db.SummaryTests.Find(previousRecord);
}
をしかし、私の質問があり、そこにあります最も近いの時間軸のレコードを取得する方法は、の前に、のレコードをユーザーが作成していますか?データベースをソートして降順で並べ替えるだけでなく、そのシーケンスの最初の要素を取得するよりも、それがうまくいくかのように感じます。
何か助けていただければ幸いです。