У меня есть база данных со строковым столбцом, который указывает значение datetime в этом формате: yyyyMMdd.C# LINQ Datetime в строковом значении
Например значение 20160908 указывают на 08 от Semptember 2016 года
У меня есть два DateTimePicker для фильтра dateFrom и значением dateTo. Беру значения даты и времени в моем Datepicker текстовое поле с этим просто код:
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,
};
Если у меня есть DATETIME фильтр я добавить этот код:
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);
}
Проблема в том, что я не могу перечислить запрос перед фильтром, потому что у меня много строк, и если я использую этот запрос, я не могу сделать int.parse в инструкции LINQ.
Как написать инструкцию LINQ, которая выбирает строку в моей БД с datetime между и с, если значение в столбце является строкой? Теперь мой запрос работает нормально, но мне нужно предложение where для этого проблема.
Спасибо всем
LINQ to what? EF6? EF Core? Другие? –
Pls поделитесь запросом здесь –