0

日付間隔のテーブルからレコードを選択する必要があります。

ただし、選択する日付は、このパターンでは nvarchar として保持されます

20160511_155015 (yyyymmdd_hhmmss)

私はそれを使用ToList()することはできませんDateTime.ParseExact(entry.StartDate, "yyyyMMdd_HHmmss", CultureInfo.InvariantCulture)

テーブルには数百万のレコードが保持されます。 だから私はこのようなものを作る必要があります:

var preQuery = context.Table
              .AsNoTracking()
              .Select(x => new
             {
                StartDate = ConvertFrom()),
                Mode = x.Mode,
                SessionStart = x.AStart,
                SessionEnd = x.AEnd,
                x.SensorNumber
            })
            .Where(x => x.StartDate != null 
                   && x.StartDate >= startDate
                   && x.StartDate <= endDate)
            .ToList();

文字列表現を Datetime に変換してから Where 句に進むことは可能ですか?

4

2 に答える 2

0

試すことができます: StartDate.StartsWith("20160511") または so.. または Convert.ToInt32(StartDate.Substring(0,8)) > 20160511

ところで、必要な限りスクリプトを実行し、その列に基づいて DateTime を生成する新しい列を作成することをお勧めします。

于 2016-07-18T11:31:06.757 に答える