0
게시 된 날짜 열에 이러한 레코드가 있습니다. LINQ to SQL에서 두 날짜 사이의 쿼리를 수행하려고합니다. 올바른 날짜를 쿼리하고 잘못된 날짜를 남기지 않는 가장 적절한 방법은 무엇입니까?LINQ to SQL을 사용하여 날짜 쿼리
published date
jan
11-oct
2010-09-09
feb
feb-12
아래 코드는 내 문제를 해결하지만 큰 레코드에는 많은 시간이 소요되며 LINQ to 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