2013-10-21 88 views
0

有人可以將它轉換爲LINQ到SQL並刪除讓某種方式嗎?LINQ到SQL到LINQ到對象(日期轉換)

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(); 

回答

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();