![](/img/trans.png)
[英]Entity Framework 4.0/ How to concatenate string from date and time
[英]Entity framework “Select date time from string”
我需要從表中選擇日期間隔的記錄。
但是在此模式中,可供選擇的日期保留為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子句?
您可以嘗試:StartDate.StartsWith(“ 20160511”)左右。.或Convert.ToInt32(StartDate.Substring(0,8))> 20160511
順便說一句,我認為您可能想要運行一個腳本,只要它需要,並創建一個新列,該列將基於該列生成DateTime
請嘗試使用此
DateTime.ParseExact(dateTime ,format,CultureInfo.InvariantCulture);
var preQuery = context.Table.AsNoTracking().Select(x => new
{
StartDate = ConvertFrom(),
Mode = x.Mode,
SessionStart = DateTime.ParseExact(x.AStart,"yyyyMMdd_HHmmss", CultureInfo.InvariantCulture),
SessionEnd = DateTime.ParseExact(x.AEnd,"yyyyMMdd_HHmmss", CultureInfo.InvariantCulture),
x.SensorNumber
})
.Where(x => x.StartDate != null && x.StartDate >= startDate && x.StartDate <= endDate)
.ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.