0
У меня есть эти записи в столбце опубликованной даты, которые являются строками. Я хочу запросить между двумя датами в LINQ to SQL. Каков наиболее подходящий способ запросить правильную дату и оставить недопустимые даты?Выполнение запросов с LINQ to SQL
published date
jan
11-oct
2010-09-09
feb
feb-12
ниже код решает мою проблему, но это очень много времени для больших записей, и это не LINQ к SQL.
Func<string, DateTime?> tryToGetDate = value =>
{
DateTime dateValue;
return DateTime.TryParse(value, out dateValue) ? (DateTime?)dateValue : null;
};
var dates = (from bookdetails in bookcategories
let dateValue = tryToGetDate(bookdetails.PublishedDate)
where dateValue != null
&& (DateTime)dateValue >= twomonths
&& (DateTime)dateValue <= today
orderby bookdetails.PublishedDate descending, bookdetails.BookId
select new BookInfo
{
BookId = bookdetails.BookId,
BookTitle = bookdetails.Title,
Images = bookdetails.ThumbnailImagePath,
PublishDate = bookdetails.PublishedDate,
AuthorList = bookdetails.BookAuthors.Select(q => q.Author.Author1).ToList(),
CategoryList =bookdetails.BookCategories.Select(q=>q.Category.CategoryName).ToList()
}).Take(2).ToList();
Лучше вы должны пойти на даты столбцов и оттуда отфильтровывать день , Месяц или год или любую комбинацию, в которой вы нуждаетесь. С строкой вы столкнетесь с проблемами разбора ... –
Я бы хотел, но проблема в том, что я не могу. – maztt
Почему ваши даты 'DateTime' в базе данных не указаны? – Arran