所以我得到了这个问题:
var query = from r in context.Cars
let h = context.CarHistories
.Where(u => r.ID == u.CarID)
.Where(u => u.EventID == intEventID)
.OrderByDescending(u => u.CreatedDate)
.FirstOrDefault()
select new RefundListItem()
{
ID = r.ID,
VendorID = r.VendorID,
RecipientName = r.RecipientName,
MostRecentSubmittedName = h.CreatedName,
CreatedDate = h.CreatedDate,
};
稍后,我将此添加到查询中,因为我只想要今天创建的行:
DateTime today = DateTime.Today;
query.Where(u => Convert.ToDateTime(u.CreatedDate) >= today);
由于某种原因,这个where语句根本不会影响查询。查询仍会返回从前几天创建的项目,而不是将它们仅限制为今天创建的行。
我也试过这个,但它也不起作用:
DateTime today = DateTime.Today.Date;
query.Where(u => Convert.ToDateTime(u.CreatedDate.Date) >= today.Date);
我使用的是Linq-to-Entities(MVC 4,EF 4)。
答案 0 :(得分:3)
Where
不会修改query
实例,它会返回添加了附加条件的新实例。将其分配回query
以使其正常工作:
query = query.Where(u => Convert.ToDateTime(u.CreatedDate.Date) >= today.Date);