文章内容

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

分享到:

发表评论

评论列表