文章内容
2017/8/5 22:50:53,作 者: 黄兵
.NET中的EF效率问题
我不是大神,但是你这个问题我有点思路,从MSDN(https://msdn.microsoft.com/zh-CN/library/cc853327.aspx)上可以看到影响EF性能的因素
第二种很快是因为dbcontext没有追踪你执行查询的结果(dbconext.Database.SqlQuery<int>("select count(*) from table")),你对这个结果附加where条件是不会加到EF生成的SQL语句上的
所以对于第一种情况,你可以使用NoTracking(dbconext.table.AsNoTracking().Count())来取消EF对结果的追踪
具体的区别你可以参考:
http://www.cnblogs.com/haogj/archive/2011/05/08/2040196.html
和:
http://www.cnblogs.com/LingzhiSun/archive/2011/04/27/EF_Trick4.html
评论列表