美好的一天!
我通过LinqToSql加载了一些大表。 我可以下载这张桌子的一部分吗?例如,加载表row.dt< = some_date_time?
我这样做:
Infrastructure.Table = Globals.DataContext.GetTable<SomeTable>();
但仍然非常大 - 10万多行。
我可以这样做:
DateTime filterDate=new DateTime(2014,5,1,0,0,0);
Infrastructure.Table = Globals.DataContext.GetTable<SomeTable>().Where(item=>item.dt<=filterDate);
我不能那样做,因为我把它投到了IQueryable。 此结果表仅包含item.dt&lt; = filterDate?
的行我试图减少表格,因为我可以
那么,如何通过日期时间过滤此表?并将其转换为System.Linq.Table?
谢谢!
答案 0 :(得分:1)
将Table转换为IQueryable有什么问题?
您可以执行以下操作:
DateTime filterDate=new DateTime(2014,5,1,0,0,0);
var query = ((IQueryable<SomeTable>)dc.GetTable<SomeTable>()).Where(item => item.Date < filterDate);
var filteredItems = query.ToList();
请注意,在此示例中,数据将在数据库端进行过滤,并且不会从数据库中提取所有100 000多行。