我有一个EntityFramework select语句,它返回大约50K行。我正在为这个简单的选择命令
获得此异常var db = new DBEntity();
db.CommandTimeout = 350;
var actCosts = (from i in db.Products
where i.productID== productID
select i).ToList();
数据库在Azure中。我已经通过SSMS连接,以了解检索4:30分钟所需数据的实际时间。所以我将Commandtimeout设置为350秒。但它没有奏效
上述与此之间是否有任何性能差异
var actCosts = db.Products.Where(t => t.productID== productID).ToList();
答案 0 :(得分:0)
首先尝试运行.FirstOrDefault(),看它是否及时返回数据
var actCosts = (from i in db.Products
where i.productID== productID
select i).FirstOrDefault();
如果有效,我建议设置一个更大的超时,如1000,然后看看你的结果是否返回。
我相信SSMS使用其他方式检索数据,并且可能比简单的.ToList()方法更好地优化它。