我试图开始使用EF6作为项目。我的数据库已经充满了数百万条记录。其中EF6在SQL或客户端执行where子句
我无法找到正确的解释EF如何将T-SQL发送到SQL Server?我怕我无缘无故地将大量数据下载给用户。
在下面的代码中,我找到了三种方法来获取我的数据到List<>
,但我不确定哪个是在SQL中执行WHERE
子句的正确方法。
我不想为客户端填充数百万条记录并在客户端查询(过滤)该数据。
using (rgtBaza baza = new rgtBaza())
{
var t = baza.Database.SqlQuery<CJE_DOC>("select * from cje_doc where datum between @od and @do",new SqlParameter("od", this.dateTimePickerOD.Value.Date) ,new SqlParameter("do", this.dateTimePickerOD.Value.Date)).ToList();
var t = baza.CJE_DOC.Where(s => s.DATUM.Value >= this.dateTimePickerOD.Value.Date && s.DATUM.Value <= this.dateTimePickerDO.Value.Date).ToList();
var query = from b in baza.CJE_DOC
where b.DATUM >= this.dateTimePickerOD.Value.Date && b.DATUM.Value <= this.dateTimePickerDO.Value.Date
select b;
var t = query.ToList();
this.dataGridViewCJENICI.DataSource = t;
}