我有一個字符串列的數據庫,用這種格式指示日期時間值:yyyyMMdd。C#LINQ日期時間在一個字符串值
例如值20160908指示Semptember 2016
的08我有兩個的DateTimePicker爲濾波器dateFrom和dateTo值。我把我的日期選擇器的文本框的日期時間值這個簡單的代碼:
DateTime dataFromSel = Convert.ToDateTime(txtDatFrom.Text);
DateTime dataToSel = Convert.ToDateTime(txtDatTo.Text);
我的查詢是:
var query = from c in snd.WineOWines.OrderByDescending(x => x.DDT_DATA)
select new
{
c.ID,
c.VABRMA,
c.VABNCL,
c.DDT_DATA,
};
如果我有一個日期時間過濾器我添加以下代碼:
if (txtDatDa.Text != "")
{
string dataDaSel = Convert.ToDateTime(txtDatDa.Text).ToString("yyyyMMdd");
int dataDa = Convert.ToInt32(dataDaSel);
query = query.Where(x => int.Parse(x.DDT_DATA) >= dataDa);
}
問題是,我不能在過濾器之前列出查詢,因爲我有很多行,如果我使用此查詢,我不能在LINQ語句中執行int.parse。
如何編寫一個LINQ語句,選擇我的數據庫中的行與日期時間之間從和到,如果列中的值是一個字符串?現在我的查詢工作正常,但我需要一個where子句爲此問題。
感謝所有
LINQ到什麼地步? EF6? EF核心?其他? –
請分享您在這裏的查詢 –