【发布时间】:2019-08-27 02:48:04
【问题描述】:
我正在处理我的考试项目,我正在努力创建一个返回过滤订单列表的方法。我正在尝试过滤我之前使用代码第一个变体保存在数据库中的 by DateTime func,然后过滤它以调用 WindowsForm gridview 中的方法。
我尝试了多种我在互联网上看到的方法,但没有任何效果
public IQueryable<Order> GetOrderFiltered(IQueryable<Order> OrdersQuery, Order order)
{
if (!string.IsNullOrWhiteSpace(order.Time))
{
OrdersQuery = OrdersQuery.Where(p => p.Time.Contains(DateTime.Today.ToString("dd/MM/yyyy HH:mm")));
}
var list = new List<Order>(OrdersQuery);
return list;
}
}
namespace Data.Model
{
public class Order
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Product { get; set; }
public string PhoneNumber { get; set; }
public string Location { get; set; }
public DateTime Time { get; set; }
}
}
如果有人可以帮助我,我将非常感激。
【问题讨论】:
-
您希望如何过滤列表?只在今天的时间接收订单?
-
您可以使用 linq 对其进行排序,而无需使用 sql。看到这个 - stackoverflow.com/questions/5344805/…
-
如果您的日期时间作为字符串保存在数据库中,您应该这样做:p => p.Time.Contains(DateTime.Today.ToString("dd-MM-yyyy HH:mm") 您需要验证sql 日期时间格式 (dd-MM-yyyy) 或 (MM-dd-yyyy)
-
你有机会把
Order.Time改成DateTime类型吗? (也在您的数据库中) -
它是 (dd-MM-yyyy)
标签: c# string datetime filtering iqueryable