約 300 万のレコードを持つデータベースがあり、各レコードには id (int、主キー)、uniqueNumber(int)、および updateTime(string) があります。
uniqueNumber は複数のレコードに属することができます。updateTime は、レコードが更新された時刻を表します (14:33:42 など)。
編集: レコードは更新時間順に並べられています。
ユーザーに uniqueNumber と interval を定義させたい。次に、DB にクエリを実行して、その uniqueNumber に属するすべてのレコードを取得します。その updateTime は、where 条件が true になるたびに値が間隔で増加する変数に等しくなります。
たとえば、次のようなものが必要です: (この例では DB は使用されていません)
string currentTime = "12:25:00";
int interval = 2;
public void LinqExample()
{
string[] arr = new string[4] { "12:23:00", "12:26:00", "12:27:00", "12:28:00"};
var query = from c in arr
where c.Replace(":", "").CompareTo(currentTime.Replace(":", "")) > 0 && Inc()
select c;
// query's output is: "12:26:00", "12:28:00"
}
private bool Inc()
{
currentTime = DateTime.Parse(currentTime).AddMinutes(interval).ToLongTimeString();
return true;
}
私のコードはこれを行う適切な方法ですか?
ありがとう!