0

有人可以将其转换为 linq to sql 并以某种方式删除 let 吗?

 Func<string, DateTime?> tryToGetDate = value =>
        {
            DateTime dateValue;
            return DateTime.TryParse(value, out dateValue)
                ? (DateTime?)dateValue
                : null;
        };

  var dates = (from bk in _context.BookDetails
                             join bkcategories in _context.BookCategories
                             on bk.BookId equals bkcategories.BookId
                             where bkcategories.CategoryId == Convert.ToInt64(categoryid)
                             let dateValue = tryToGetDate(bk.PublishedDate)
                             where dateValue != null && (DateTime)dateValue >= twomonths && (DateTime)dateValue <= today
                             orderby bk.PublishedDate descending, bk.BookId
                             select bk).Take(2).ToList();
4

1 回答 1

0
var dates = (from bk in _context.BookDetails
                             join bkcategories in _context.BookCategories
                             on bk.BookId equals bkcategories.BookId
                             where bkcategories.CategoryId == Convert.ToInt64(categoryid)
                             where SqlFunctions.IsDate(bk.PublishedDate.ToString())==1 && bk.PublishedDate >= twomonths && bk.PublishedDate <= today
                             orderby bk.PublishedDate descending, bk.BookId
                             select bk).Take(2).ToList();
于 2013-10-21T10:52:21.263 回答